Prestashop 1.7 _layered_filter_block mucho espacio (gigante) y problemas con el hosting
Prestashop 1.7 _layered_filter_block, problemas de rendimiento y de hosting
Muchas veces los clientes le echan la culpa al hosting, de todos sus males, pero la triste realidad es que los clientes o mejor dicho sus desarrolladores de la tienda, de su PrestaShop, obvian el paquete "mantenimiento anual" y obvian, el dejar las cosas bien para que luego no halla problemas.
Hablamos del Faceted Search o navegación por facetas.
Modulo que viene con advertencias claras de como debemos usarlo, pero que en el 90% de las tiendas de un Hosting basadas en PrestaShop, tiene habilitado en las tareas cron del cliente.
Hoy un cliente, me pidio soporte para ver porque su máquina de 256GB de ram, se iba cada dos por tres.
Como no había datos en la monitorización que indicaran problemas de overload, fuimos a buscar a MySQL. Sus logs nos hablaban de muchos problemas de reinicio, y de requerir ingentes cantidades de memoria por InnoDb.
Pues a buscar al culpable.
[root@servidor30 mysqltuner]# du -sh /var/lib/mysql/user_republic3/* | grep G
2,9G /var/lib/mysql/user_republic3/ps_guest.ibd
263G /var/lib/mysql/user_republic3/ps_layered_filter_block.ibd
Maravilloso la tabla ps_layered_filter_block
perteneciente al penoso módulo Búsqueda por facetas o Faceted Search
La de
ps_guest
esa es otra de esas tablas que puedes limpiar regularmente en PrestaShop, junto aps_guest
,ps_connections
,ps_connections_page
,ps_connections_source
,ps_page_viewed
.
Ojo, que limpiar no solo es hacer TRUNCATE como algún experto dice por ahi. Igual te interesa limpiar desde un tiempo, como puede ser en
ps_cart_product
,ps_cart
yps_cart_discount
.
Backups, por favor, siempre backup antes de empezar cualquier cosa, sobre todo cuando lees cosas por Internet.
Pues la culpa es del desarrollador o del activador de este módulo en el area de administración que parece que les cuesta leer.
Dejo la imagen en castellano, que luego hay quien me dice que sabe inglés... ;-)
Configurar el cron
Lo dejo también porque esta es la madre de de muchos de los problemas heredados en un hosting por causa de expertos en desarrollo web. Como se les atraganta pues lo obvian.
Los chicos de PrestaShop, también son muy simpáticos, porque el mensaje no es del todo correcto. Si uno pone eso el cron (y como lo hace a través de cPanel, DirectAdmin, o panel, en lugar de trabajar con SSH) no funcionará.
A veces hay que leer y entender.
Eso es una URL, y el cron es un programa de consola, que no puede llamar de esa forma a una url salvo... usando +curl*
MAILTO=""
15 2 * * * /usr/bin/curl --user-agent cPanel-Cron 'https://dominio.com/en/module/ps_facetedsearch/cron?ajax=1&action=indexPrices&token=bj7shgggg'
25 2 * * * /usr/bin/curl --user-agent cPanel-Cron 'https://dominio.com/en/module/ps_facetedsearch/cron?ajax=1&action=indexPrices&full=1&token=bj7shgggg'
35 2 * * * /usr/bin/curl --user-agent cPanel-Cron 'https://dominio.com/en/module/ps_facetedsearch/cron?ajax=1&action=indexAttributes&token=bj7shgggg'
45 2 * * * /usr/bin/curl --user-agent cPanel-Cron 'https://dominio.com/en/module/ps_facetedsearch/cron?ajax=1&action=clearCache&token=bj7shgggg
En el shell se puede ejecutar cada uno de ellos y ver si te funcionan
Por si usas cPanel te lo dejo. Pero ten atención a las comillas simples.
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.