Optimizacija MySQL na cudan nacin

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?

Tako ja radim, jednom godisnje. Export kroz WP i posle import isto kroz njega, skoro sam to radio za jednog klijenta http://allaboutdogs.net/

Napravio novu instalaciju, samo sam upload direktoruj cio prebacio zbog slika jer ti ih nece prebacit kad import.

1 Like

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?

Da, znam da fotke ne idu kroz import. Kod mene bi sve ostalo gdje jeste, svi folderi i sajt kakav je. Samo bi ga otkopcao od baze i zakacio za novu?

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.

1 Like

Super, thanks. Ako odradim javim rezultate :slight_smile:

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.

25MB je baza, ne znam jeli to veliko ili ne. WP je portal, dva autora i blizu 3000 clanaka.

Po tvom misljenju jeli to veliko ili ne?

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.

1 Like

Jel se tu sto osjeti na brzini?

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

Huh, pa dobro si skinuo size. Mislim da zbog database se CPU nebi smio zakucavat. Jesi li na shared hostingu?

A kako dolazi izvjesce ako si deinstalirao plugin, cuo sam za te plugine, no ja to ne koristim, mora da nekako drugacije vrse te querrye…

No nije mi jasno kako ti moze dolaziti izvjesce iz plugina kojeg si maknuo?

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 :slight_smile:
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.

3 Likeova

Ja to uopce ne bi nazvao optimizacijom nego presipanjem iz supljeg u prazno.

Sa svim tim sto OP zeli napraviti nece postici nista.

Imas WP Optimize plugin, pa probaj s njim.

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).