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…
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
Elvis, il tuo contributo è straordinario.
Da utilizzatore di PrestaShop, articolo molto interessante, diciamo che con traffico ridotto anche su una soluzione semplice come il famoso Hosting aruba, PrestaShop alla fine se la cava bene…