WooCommerce con migliaia di prodotti - sito molto lento - ottimizzare le query del database?
Ho circa 8.000 prodotti nel mio WooCommerce e la pagina dei prodotti sul frontend impiega diversi secondi per caricarsi, anche dopo aver implementato il caching.
Il mio host VPS suggerisce di utilizzare database multipli.
È questo il metodo corretto e, se sì, come è possibile implementarlo?
Qualsiasi suggerimento per velocizzare le query del database o semplicemente per accelerare il frontend sarebbe molto apprezzato.

Questa è davvero una questione relativa al server e non specifica di WordPress.
Stai riscontrando un collo di bottiglia nella velocità del server MySQL su 1and1. Sfortunatamente, sono noti per essere un host condiviso lento, e per questo motivo dubito che i loro VPS siano migliori.
La cache e un CDN possono fare solo fino a un certo punto per te. Hai bisogno di più potenza sotto forma di un server MySQL migliore e più veloce, e se stai già pagando per un VPS, dovresti passare a un host VPS migliore, come Media Temple.
Una volta lì, con accesso root, puoi utilizzare un'utility come http://mysqltuner.com per registrare e analizzare le prestazioni del server MySQL e regolare i parametri della memoria del server e della cache delle query del database nel file di configurazione my.cnf. Sarai anche in grado di regolare Apache - in httpd.conf - per gestire carichi elevati.
Ha poco senso cercare di ottimizzare le query del database eseguite da WooCommerce o WordPress; qualsiasi modifica apportata dovrebbe essere rifatta dopo gli aggiornamenti.

Sto provando WP Super Cache, ma non ha aiutato molto. Mi fido del server, ma 1and1 sostiene che sia il codice del sito. Potresti dare un'occhiata veloce per confermare? http://s15430161.onlinehome-server.com/shop/product-category/dark-horse/ basta cliccare su una delle miniature dei fumetti.
Oh, e al momento ci sono circa 13.000 prodotti nel database.

@ il commento sopra, ne ho memorizzati nella cache alcuni, quindi se si carica all'istante prova con un altro.

Lascia perdere la cache. Se hai i permessi di root su quel VPS, controlla il tuo file my.cnf ed esegui mysqltuner.pl per ottimizzare MySQL.

Non è un collo di bottiglia di MySQL - il problema è un codice pessimo all'interno di WooCommerce e WordPress che analizza ogni prodotto nel database utilizzando PHP solo per contare i prodotti in ogni categoria. La query MySQL per 100.000 prodotti sul mio server viene restituita in 0,3 secondi, ma utilizzando PHP-FPM base la pagina impiega 185 secondi per essere restituita (su un VPS a 8 core!). Quando uso HHVM invece, impiega 10 secondi.

Ho due soluzioni da suggerirti che dovrebbero risolvere il tuo problema. Passa all'utilizzo di elasticsearch.com per popolare tutti gli indici dei prodotti. Allo stesso tempo migliorerai notevolmente le capacità di ricerca del tuo sito web (se integrato correttamente). Mi assicurerei di posizionare la soluzione elasticsearch su un server diverso.
Penso che il tuo sistema di caching non sia configurato correttamente o che il tuo server sia sovraccarico. Una soluzione che potrebbe essere la più economica (opzione #2) sarebbe utilizzare i server di caching gratuiti di cloudflare.com. Questo in genere risolverà il tuo problema nel modo più conveniente se non vuoi occuparti delle ottimizzazioni del server.

La memorizzazione nella cache con Varnish è la soluzione migliore, tuttavia è necessario evitare di memorizzare nella cache lo snippet del carrello nell'intestazione e le pagine del carrello/checkout. Penso che WooCommerce dovrebbe essere configurato con Varnish Edge Side Includes. Per escludere il checkout, segui queste istruzioni:
http://docs.woothemes.com/document/configuring-caching-plugins/#section-3
