Ottimizzazione di Prestashop

So per esperienza diretta che Magento è un macigno per i server, ultimamente sono venuto a scoprire che anche Prestashop non scherza, e mi sono ritrovato a dover risolvere un problema di carico, con top che rilevava un consumo di CPU per MySQL tra il 180% e il 200%…

La mia prima idea è stata quella di attivare il sistema di caching di Prestashop, basato su memcached, e il consumo di CPU è stato portato più o meno al 70% costante. Ma non sono riuscito a capire come poter svuotare la cache, quindi per schiantarla sono passato alla cache sul disco, ma siccome sul punto di salvataggio ho montato un ramdisk da 512MB, secondo scuola Amiga, a tutti gli effetti il caching viene fatto in RAM senza dover aggiungere un modulo PHP. Ecco il comando per montare il ramdisk, dato nella directory di root del sito:

mount -t tmpfs -o size=512m tmpfs /cache/cachefs/

Come indicatomi dal webmaster di Cippest e dalla guida per sistemisti di Prestashop, ho aumentato i parametri di caching per MySQL (da inserire in /etc/my.cnf):

query_cache_type=1
query_cache_limit=16M
query_cache_size=512M

Già che c’ero, ho aggiunto anche eaccelerator per PHP. Il risultato? Lo potete valutare voi. Praticamente ora MySQL di norma non consuma CPU…

Girl on a Bike

3 thoughts on “Ottimizzazione di Prestashop

  1. in base al traffico che hai, varnish cache (reverse proxy, cache pagine) so che viene usato molto con magento.
    per MySQL ti consiglio di lanciare questo script https://launchpad.net/mysql-tuning-primer/ sul server in produzione, e ti dice come sistemare le variabili per lavorare solo un memoria (e dopo mysql lo vedi poco tra i processi che ti mangiano disco). memcached si autoregola, quando arrivi alla dimensione massima le entries piu’ vecchie vengono buttate fuori, se vuoi svuotarla tutta puoi chiamare flush o riavviare demone, se invece intendi invalidarla in automatico devi avere logica delle applicazione che lo fa, spesso talmente complessa (considernado tutti gli eventi) che non vale la pena usare la cache ma potenziare i layer sottostanti con piu’ risorse. PHP accelerator: usa APC con stat=0

Leave a Comment

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi