Sin impuesto Con impuesto

La caché de PrestaShop en RAM (tmpfs): el experimento de Gustavo

Gustavo probó a llevar a la memoria RAM la caché de PrestaShop y los recursos del tema. La caché en RAM se nota, pero solo compensa en un servidor propio con memoria de sobra, y hay carpetas que nunca deben ir ahí porque se pierden al reiniciar.

Equipo Rekire
Actualizado: 27/10/2025 8
La caché de PrestaShop en RAM (tmpfs): el experimento de Gustavo
Compartir:

Gustavo, de la comunidad, probó en sus servidores a llevar carpetas de PrestaShop a la memoria RAM con tmpfs. Su conclusión: poner var/cache en RAM se nota en el tiempo de carga, pero solo tiene sentido en un VPS o servidor propio con memoria de sobra. Aquí está lo que probó y cómo hacerlo sin romper nada.

El experimento

Con acceso completo al servidor, Gustavo montó en RAM primero var/cache, donde PrestaShop guarda la caché de Symfony, de Smarty y la suya propia, y después las carpetas de recursos del tema. Sus notas, resumidas:

  • var/cache: se nota algo; la página tarda menos en cargar.
  • Recursos del tema (CSS y JS): se nota al servir esos ficheros.
  • Imágenes: no se recomienda. Ocupan mucho y el disco ya las sirve bien.
  • Memoria: recomienda 16 GB de RAM. Con 8 GB se va justo entre el sistema, unos 2 GB para la caché y otro tanto para los recursos.

Dejó los datos para compararlos a los 30 días. Otro compañero que hacía pruebas parecidas coincidía: la ganancia es pequeña, pero si no da problemas, suma.

Por qué funciona

PrestaShop lee y escribe muchísimos ficheros pequeños en var/cache: plantillas compiladas, el contenedor de Symfony, metadatos. En un disco lento o compartido cada acceso cuesta; en RAM es casi inmediato. Si tu servidor ya tiene un disco NVMe rápido y OPcache bien configurado, la diferencia será menor.

Cómo montarlo

En Linux basta una línea en /etc/fstab. Cambia la ruta, el tamaño y el usuario por los de tu servidor (el usuario con el que corre PHP: www-data, apache, el del dominio en Plesk…):

tmpfs  /var/www/mitienda/var/cache  tmpfs  rw,noexec,nosuid,size=2G,uid=www-data,gid=www-data,mode=0750  0  0

Después, mount /var/www/mitienda/var/cache y comprueba con df -h que aparece. Al montarlo la carpeta se ve vacía: no pasa nada, PrestaShop regenera la caché en la siguiente visita (la primera irá más lenta). Pruébalo antes en una copia de la tienda: si tienes tareas de consola o cron que escriben en la caché con otro usuario, ese usuario también tiene que poder escribir ahí.

Lo que hay que tener claro

  • Lo que está en RAM se pierde al reiniciar. Para var/cache da igual, porque se regenera sola. Por eso es la carpeta buena para esto.
  • No metas en RAM ficheros que no se regeneran. Las carpetas assets del tema contienen los CSS y JS originales: si las montas en tmpfs y el servidor se reinicia, la tienda se queda sin estilos. Si quieres probar con recursos, limítate a la caché de CSS y JS combinados (themes/tu-tema/assets/cache), que PrestaShop vuelve a crear, o mantén una copia en disco y sincronízala al arrancar.
  • Vigila el tamaño. Si la caché llena el tmpfs, PrestaShop empezará a fallar al escribir. Mira cuánto ocupa hoy tu var/cache con du -sh y deja margen.
  • La memoria que uses aquí se la quitas a MySQL y a PHP. En un servidor justo de RAM puede salirte peor.
  • En hosting compartido no se puede: hace falta acceso de administrador al servidor.

Antes de esto, lo básico

El tmpfs es un ajuste fino. Rinde más, antes, tener OPcache activo y bien dimensionado, una versión de PHP con soporte, la caché de PrestaShop activada en producción y una caché de objetos como Redis si el tráfico lo pide.

Si quieres ir por la vía de la caché completa, Rekire distribuye gratis el módulo All In One Cache, que combina caché de página, Redis y OPcache.

Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación

Cargando...
Cookies
Volver arriba