La WordPress 4.3.1 a fost bugul acela care îți umplea tabela wp-options și îți solicita serverul. La cei cu găzduiri mai slabe treaba era nasoală. Se lăsa cu multe erori sau chiar suspendări de resurse.
Aseară mi se părea mie că se încarcă greu blogul. Nu pe pagini, ci în zona de admin. Am făcut repede legătura cu bugul de atunci și am verificat wp_options. N-aveam decât 2000 de linii pe acolo, cu fel de fel de porcării.
M-am jucat cu plugin-ul Clean Options și mi-am făcut de cap cu el. Vechi, vechi, dar… bun.
Ideea e că în wp_options ajung toate salvările de la pluginurile idioate, de la teme codate prost, de la orice. Și rămân și se adună și… crește baza de date și cresc și cheltuielile de găzduire. Și altfel n-aș mai putea ține cu un pachet foarte ieftin blogul. E drept că nici nu mă aștept la mai mult de 2000 de unici zilnic. Poate să fie mai mulți de Black Friday, dar… atât. Nu știu eu să fac virale ca să am spike-uri.
Pluginul trebuie folosit neapărat cu backup la baza de date. Pe temele de la Genesis a trebuit să nu mă ating de tabelele în care se păstrează setările… pentru că îmi dispăreau imaginile de pe homepage.
Apoi am optimizat wp_commentmeta și wp_postmeta.
Comenzile pe care le-am executat în phpmyadmin au fost:
SELECT * FROM wp_commentmeta WHERE comment_id NOT IN ( SELECT comment_id FROM wp_comments ); DELETE FROM wp_commentmeta WHERE comment_id NOT IN ( SELECT comment_id FROM wp_comments ); SELECT * FROM wp_commentmeta WHERE meta_key LIKE '%akismet%'; DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%';
și
SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL; DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
SELECT ID FROM wp_posts AS a LEFT JOIN (SELECT post_id FROM wp_postmeta WHERE meta_key='fb') AS b ON a.ID=b.post_id WHERE b.post_id IS NULL;
Încă mai sap să văd cum pot renunța la anumite interogări din baza de date sau să pot pune cache pe anumite lucruri.
Cornel a zis
Numai la Windows îţi stă mintea :). Cred că ai vrut să spui WordPress 4.3.1.
Marius Cucu a zis
Așa e când ai mintea în altă parte. Între timp am mai găsit niște chestii aici. Mă pun pe testat.
Bobses a zis
Bun, am să iau în calcul pluginul ăsta și-am să mă joc cu el când voi avea timp. Mersi.
Marius Cucu a zis
Mare atenție să nu bușești ceva. Pregătește-te ca setările din panoul de temă să… zboare. 🙂
Daniel Pruna a zis
Te rog frumos inca o parere de specialist intre cele douaTelevizor Smart LED Full HD 3D, webOS 2.0, 107 cm, LG 42LF652V sau Televizor LED Ultra HD, Smart TV, webOS 2.0, 109 cm, LG 43UF6407 multumesc anticipat !
Ionuț Staicu a zis
Folosește wp-super-cache sau w3 total cache.
La câteva mii de intrări în tabela options (sau în orice altă tablelă) nu ar trebui să ai penalități de performanță, indiferent dacă ai sau nu caching activat.
Marius Cucu a zis
Mă joc cu Hyper Cache. Pare mai light. 🙂
Malin a zis
WP Optimize e mai eficient si face aproape tot, inclusiv transientii. Ce nu sterge WP Optimize sunt postmeta orfane.
Cat despre WP SuperCache, Ionut are dreptate. Daca-ti configurezi WP SuperCache cu mod_rewrite o sa pui functia de cache in carca mod_rewrite (Apache) economisind astfel memorie pentru PHP. Iar daca pe server e instalat si mod_pagespeed atunci e si mai eficient.