Zanimljivo pitanje u vezi optimizacije baze za koju se povezuje WP.
Kratko pitanje za znalce. Dali je moguce na ovaj nacin postici optimizaciju WP sajta koji je online i koji je godinama u MySQL sakupio hrpu nepotrebnih stvari.
Dakle, uradim export kroz WP (clanci, kategorije i tagove) . napravim novu bazu i postojecu WP instalaciju povezem sa njom. Uradim import i to je to.? Ili nije?
Sada razmisljam na glas… Na takav nacin bi u bazu ubacio samo clanke, kategorije i tagove. Sve nepotrebne stvari bi zaobisao. Kasnije bi instalirao plugin samo one koje koristim… Jeli ima smisla pokusati ovo ili sam previdio nesto?
Hajde mi ako nije problem malo detaljnije opisi… Na sta moram paziti, kakve probleme mogu ocrkivati i na kraju, jeli trebam ukloniti sve trenutne plugine prije nego WP povezem sa novom bazom pa ih onda instalirati?
Evo opisacu ti ovako kako je po mom misljenju najbolje da odradis ovako ja barem radim.
Odem na trenutnu instalaciju WP i export odradim http://prntscr.com/cwrhty odaberes sta ti vec treba.
Posle uploadujem wp instalaciju u npr folder /novo/ i tu instaliram WP, i zatim prebacim onaj folder upload iz stare instalacije zbog slika koje koristim u clancima. Jer ovako dobijes i svezu instalaciju wp, a ne samo baze.
Potom u novoj instalaciji odradim import naravno podesavanja linkova i brisanje prvog clanka itd. to da ti ne pisem sad.
Zatim instaliram dodatke koje zelim da koristim, i to bi bilo to. Bolje ovako jer ne moze se desit da zajebes nesto uvijek ti ostaje ono staro dokle sve fino ne odradis i posle to novo prebacis gde vec zelis na kojoj adresi da koristis.
E sad jos nesto na cem bi trebao da obratis paznju meni je ovaj klijent imao ogromnu bazu i vise autora i nisam mogao da odradim ovaj import vec sam to uradio na drugi nacin isto sve ovo nova instalacija prebacivanje upload fajla samo sam iz stare baze export djelove koji su mi trebali npr wp_users wp_usersmeta wp_terms wp_posts koliko me secanje sluzi znaci samo sam povukao korisnike i clanke i kategorije i import u novu bazu gdje sam prethodno te djelove drop. Ali tebi je mozda bolje ovo prvo sto sam ti napisao tako inace radim uvijek, ako vec nemas neku preogromnu bazu jer meni barem nije htjelo import da odradi lijepo.
Pa mislim da ce ti bit veliko ali probaj kad napravis novu instalaciju kreiraj korisnika i za tog drugog autora pa kad import odradis pitace te da dodijelis vlasnike clanka kako je inace bilo.
Mislim da se s ovim nista ne postigne. Ovo govorim napamet. Jedino sto se postigne je prostor ili velicina database se smanji. Sad za koliko neznam, ali mislim da ni to nije neka velika cifra.
No mozda ako se radi o Innodatabasi, jer se ona moze ucitat u memoriju pa je onda manje memorije potrebno, ali opet se pitam koliko je smanjenje te baze.
Iskreno mislim da ako imas neke tabele koje ne koristis odnosno plugin ih ne koristi da to nema neki utjecaj.
I nebi ovo nazvao MYSQL optimizacijom nego Database optimizacijom.
Da, lose sam se izrazio. Mislio sam na optimizaciju baze.
Nego, nisam skuzio dio sa tabelama od plugina koje vise ne koristim. Ja bas zelim da obrisem sve zaostale upite u bazi jer mi oni (pretpostavljam) rade probleme.
Ovako kada bih uradio novu bazu, samo sa sadrzajem i onda postavio nanovo samo 3 plugina koja koristim bi valjda osjetio neko olaksanje u radu WP sajta?
Da, ali upiti na bazu se vrse preko phpa ili nekog drugog programa koji radi querry. Ako nitko ne radi querry onda podaci u bazi stoje bez ikakvih upita.
Zato mislim da s ovim tvojim radom se samo smanji baza, a kako vidim da je tvoja 25MB sto je stvarno malo. Ja sam vidio baze s 2GB, cak sam pisao po forumu kako je rad s takvim bazama problmatican.
Recimo sad ti imas bazu 25MB i sad je smanjis na 20 ili ajmo rec na 15MB sto IMO nema niakve razlike. To da smanjis bazu sa 200 na 100 ili sa 200 na 50, e to bi imalo smisla i ako je u innodabatase. Onda se cijela baza ubaci u memoriju i spasis si mnogo memorije tako, ali ovako mislim da je to stvarno maleni MB. Osim ako nisi ubacio sve moguce plugine, ono 100 njih, onda mozda se to i moze smanjiti, ali kako kazes da imas 25MB databasu predpostavljam da imas par plugina.
Ma, trenutno imam samo 3 plugina (allinone seo, smushit i jos neki dodatak za widgete). Naravno, kroz dugi period sam ih koristio dosta i brisao, pa su neke tabele ostale…
Baza je bila 36MB pa sam je rucno spustio na 24.5MB. Ali i dalje CPU zna cesto da zakuca na 100% . kratko traje ali se cesto pojavi…
Inace, skuzio sam da se zapisi iz baze izvrsavaju cak ako je plugin deinstaliran. Bas nedavno, nakon sto sam uklonio iThemes secutity meni od njega dolazi report u vezi promjena koje sam radio po datotekama u public_html
Samo da se nadovežem: originalna baza je bila 79 Mb, pa smo ju mi prilikom migracije stavili na dijetu i dobili cca 36 Mb
Ti WP plugini znaju biti stvarno veliko zlo, ali to još i nije najgora stvar - tko je ikad radio s Magento modulima on zna što je muka.
25,36, 79MB su sve sicusne baze, i same po sebi sigurno nisu krive za zakucavanje CPUa. I da ove velicine nisu u megabajtima nego gigabajtima, njihova velicina ne bi bila razlog zakucavanju CPUa, nego neefikasan/los query, ili nesto skroz deseto (ie, nekakav plugin radi on the fly kalkulacije pri svakom requestu).
Ako pretpostavimo da core wordpress nije problem, upite na bazu jos rade tema i plugini.
Upratit na serveru sto zakucava CPU, i pogledat slow query log kojeg MySQL pise na disk.
Sa pluginima sam i krenuo ovaj postupak ciscenja. Kasnije nastavio rucno…
Mislim zapravo da sam obrisao sta se moglo. Vidjet cu dalje sta i kako. Mozda u nekom drugom smjeru…
Ima više načina optimizacije.
Može se optimizirati particioniranjem tablica ili sa povijesnim tablicama ili podaci koji više ne trebaju jednostavno se pohrane u drugu bazu (kao skladište podataka), sve ovisi o situciji.
Veličine baza koje se ovdje spominju su smiješne (do nekoliko GB).