Pequeño artículo donde explicamos una pequeña mejora en el rendimiento de Magento, consiste en guardar tanto la cache y las sesiones en un disco en memoría RAM usando el formato de ficheros TMPFS. Esto permite reducir el número de accesos a disco por parte de Magento.
Lo primero sería configurar Magento para que guarde las sesiones utilizando archivos. Para ello editamos el archivo app/etc/local.xml.
<session_save><![CDATA[files]]></session_save>
A pesar de que en muchos tutoriales de rendimiento en Magento recomiendan guardar las sesiones en base de datos, no tiene sentido tener que cargar el servidor con INSERTS y UPDATES cuando se pueden manejar perfectamente usando PHP. Y a esta conclusión hemos llegado tras testear ambas configuraciones en nuestras tiendas y ver como, en aquellas tiendas que tienen algo de tráfico, las queries que gestionan las sesiones siempre están entre el top ten de queries lentas.
Vamos a destinar, por ejemplo, 256MB al sistema de caché de ficheros y 48MB para las sesiones. Si suponemos que nuestra tienda está en /var/www/tienda/, tendremos que montar las unidades en /var/www/tienda/var/cache/ y en /var/www/tienda/var/session/ para ello lo mejor es directamente editar el archivo /etc/fstab y añadir las siguientes líneas. Fstab es el archivo dónde se indica donde y cómo montar las particiones en el arranque del sistema.
tmpfs on /var/www/tienda/var/cache type tmpfs (rw,size=256,mode=0777) tmpfs on /var/www/tienda/var/session type tmpfs (rw,size=48,mode=0777)
Ahora basta con recargar las particiones montadas usando
sudo mount -a