cachefs prestashop

La CacheFS de PrestaShop te puede jugar una mala pasada y empeorar la velocidad de tu tienda.

Dentro de las opciones de rendimiento de PrestaShop podemos elegir entre diferentes tipos de caché (sistema de archivos, memcache, apc y xcache).

Diferencias entre tipos de caché

La gran diferencia entre la caché de sistemas de archivos y las demás es que sistemas de archivos o CacheFS genera la caché en ficheros dentro del disco duro del servidor. Sin embargo, los demás tipos de caché la guardan en la memoria RAM.

CacheFS o sistemas de archivos

Este sistema de caché genera ficheros de caché dentro de la carpeta de PrestaShop /cache/cachefs/. Si accedemos a este directorio cuando tenemos este tipo de caché activa podremos ver múltiples archivos que son donde se guarda la información para, posteriormente, PrestaShop consultar estos archivos en vez de ejecutar el código.

Cuando tenemos discos duros SSD en nuestro hosting podremos ver que la velocidad de nuestro PrestaShop mejora debido a la velocidad de lectura de estos discos. Sin embargo, si tenemos discos duros convencionales, nuestra velocidad puede empeorar ya que la velocidad de lectura de estos discos es bastante más lenta respecto a los SSD.

A priori podríamos decir que la velocidad mejoraría si tenemos discos SSD. En realidad así es, pero tiene un tiempo limitado en el que le llega la muerte.

La muerte de velocidad por CacheFS

Una vez que tenemos nuestro PrestaShop y hemos configurado y activado esta caché, lo dejamos así y no le damos más importancia. ¡Este es el primer error! PrestaShop va creando los ficheros de caché en la misma carpeta cuando se realiza cualquier cambio y no se van borrando los ficheros anteriores.

Esto quiere decir que con el tiempo tendremos una gran cantidad de ficheros en esta carpeta, y, poco a poco, la velocidad de nuestro PrestaShop irá descendiendo. Es debido a que el sistema operativo, cuando va a acceder a leer cualquier fichero, antes realiza un listado de todos los ficheros del directorio. Por tanto, cuantos más ficheros hay en el directorio, más tiempo tarda en listarlo, y esto retarda la carga de PrestaShop.

Si esto lo dejamos así mucho tiempo, nuestro PrestaShop creará una gran cantidad de ficheros realizando una saturación en el I/O del disco duro cada vez que PrestaShop acceda a este directorio.

Solución al CacheFS

La solución para esto es o bien cambiar el tipo de caché por cualquier otro que realiza la carga desde la memoria RAM (más eficaz), o bien crear un cron que elimine los ficheros de este directorio de forma periódica, para que nunca tenga una gran cantidad de ficheros esta carpeta.

Personalmente yo me decanto más por activar un tipo de caché en RAM como APC. ¡Es más eficaz y no tendrás este tipo de problemas!