WooCommerce cu mii de produse - site-ul este foarte lent - optimizare interogări baze de date?
Până acum am aproximativ 8.000 de produse în WooCommerce și pagina de produse din frontend durează câteva secunde pentru a se încărca, chiar și după activarea cache-ului.
Furnizorul meu de VPS sugerează că ar trebui să am mai multe baze de date.
Este aceasta metoda corectă și dacă da, cum este posibil?
Orice sugestii pentru accelerarea interogărilor din baza de date sau pur și simplu pentru optimizarea frontend-ului ar fi grozave.

Aceasta este de fapt o problemă de server și nu una specifică WordPress.
Întâmpinați o limitare de viteză a serverului MySQL la 1and1. Din păcate, aceștia sunt cunoscuți ca fiind un gazdă shared lentă, iar din acest motiv, mă îndoiesc că serviciile lor VPS sunt mai bune.
Cache-ul și un CDN vă vor ajuta doar într-o anumită măsură. Aveți nevoie de mai multă putere de procesare sub formă unui server MySQL mai bun și mai rapid, iar dacă deja plătiți pentru un VPS, ar fi bine să vă mutați la un furnizor de VPS mai bun, cum ar fi Media Temple.
Odată mutat acolo, cu acces root, puteți folosi un utilitar precum http://mysqltuner.com pentru a înregistra și analiza performanța serverului MySQL și pentru a ajusta memoria serverului și parametrii cache-ului de interogări din baza de date în fișierul de configurare my.cnf. De asemenea, veți putea ajusta Apache - în httpd.conf - pentru a gestiona sarcini mari.
Nu prea are sens să încercați să optimizați interogările bazei de date făcute de WooCommerce sau WordPress; orice modificări efectuate vor trebui făcute din nou după actualizări.

Încerc WP Super Cache, dar nu prea a ajutat. Am încredere în server, dar 1and1 susține că e vorba de codul site-ului, poți să arunci o privire rapidă și să confirmi? http://s15430161.onlinehome-server.com/shop/product-category/dark-horse/ doar dă click pe una din miniaturile de benzi desenate.
A, și momentan sunt aproximativ 13.000 de produse în baza de date.

@ comentariul de mai sus, am cache-uit câteva, deci dacă se încarcă instant, încearcă altul.

Uită de încercările de cache. Dacă ai acces root pe acel VPS, verifică fișierul my.cnf și rulează mysqltuner.pl pentru a optimiza MySQL.

Nu este o problemă de performanță în MySQL - se datorează unui cod prost scris în WooCommerce și WordPress care parcurge fiecare produs din baza de date folosind PHP doar pentru a număra produsele din fiecare categorie. Pe serverul meu, interogarea MySQL pentru 100.000 de produse se execută în 0,3 secunde, dar folosind PHP-FPM de bază, pagina se încarcă în 185 de secunde (pe un VPS cu 8 nuclee!). Când folosesc HHVM în schimb, timpul scade la 10 secunde.

Am două soluții pe care ți le-aș sugera și care ar rezolva problema ta. Ori să recurgi la utilizarea elasticsearch.com pentru a popula toate indexurile de produse. În același timp, îți îmbunătățești semnificativ capabilitățile de căutare ale site-ului (dacă este integrat corect). Aș avea grijă să plasez soluția elasticsearch pe un server diferit.
Cred că sistemul tău de caching nu este configurat corect sau serverul tău este supraîncărcat. O soluție care ar putea fi cea mai ieftină (opțiunea #2) ar fi să folosești serverele gratuite de caching de la cloudflare.com. De obicei, aceasta îți va rezolva problema în cel mai cost-effective mod, dacă nu vrei să te ocupi de optimizări la nivel de server.

Caching-ul cu Varnish este cea mai bună soluție, totuși trebuie să evitați stocarea în cache a fragmentului de coș din antet și a paginilor de coș/finalizare comandă. Cred că WooCommerce ar trebui configurat cu Varnish Edge Side Includes. Pentru a exclude finalizarea comenzii, urmați aceste instrucțiuni:
http://docs.woothemes.com/document/configuring-caching-plugins/#section-3
