¿Es el hosting o es PrestaShop? Cómo saber por qué va lenta
Un compañero tenía unas tiendas pequeñas que iban bien hasta que cambiaron de manos en el hosting; el listado de pedidos llegó a tardar 15 segundos. Gustavo explicó su método para separar los problemas del servidor de los de la tienda y un experto del grupo apuntó al límite de conexiones a la base de datos. Aprendes el orden de las pruebas.
Un compañero de la comunidad tenía unas tiendas pequeñas que funcionaban bien. Su hosting cambió de dueño, empezó a ir todo lento y se mudó. En el nuevo, dos semanas perfectas y luego otra vez lo mismo: hasta 15 segundos para mostrar el listado de pedidos en el back-office. El soporte decía que el servidor estaba bien. La pregunta de siempre: ¿es el hosting o es la tienda? Gustavo, de la comunidad, dio su método.
Lo que no te van a resolver desde fuera
Gustavo empezó por bajar expectativas. Las herramientas externas, como webpagetest, te dan una idea de cómo carga una página, pero son genéricas. Como referencia, en otro hilo dio sus números para una ficha de producto: un primer byte por debajo de 1,5 segundos y una carga total que no pase de 3,5 está bien para un PrestaShop.
Y el soporte del hosting te dirá que su sistema funciona, que es lo normal y casi siempre es verdad. Lo que no puedes pedirle es que revise cómo funciona PrestaShop. Te pueden decir los consumos, y poco más.
El orden de las pruebas
- Depuración. Actívala en Parámetros avanzados → Rendimiento. Te enseña los errores gordos. Lo ideal es no tener ninguno; si un módulo los da, habla con su soporte.
- Profiling. Cambia a
truela constante_PS_DEBUG_PROFILING_enconfig/defines.inc.php. Verás el tiempo de cada módulo, de cada fase de la página y de las consultas SQL. Gustavo ha visto módulos que consumen 4 segundos o más y megas de memoria que no hacen falta. Como lo ve cualquier visitante, actívalo en una copia o solo unos minutos. - htop. Si tienes acceso SSH,
htopte dice qué procesos se comen la memoria y la CPU en ese momento. Si no, pide una captura al soporte. - Actualiza PrestaShop a la última versión estable de tu rama.
- Bloquea los bots que no te aportan nada: rastreadores de herramientas SEO, bots de IA y otros que hacen miles de visitas y consultas. En una tienda pequeña pueden ser la mitad de la carga.
La prueba que zanja la duda
Cuando todo eso está limpio y sigue lenta, Gustavo hace esto: pasa la web a otro servidor, cambia las DNS y la deja funcionando tres días. Si en el otro servidor va bien, el problema es del hosting. Si va igual de mal, es la tienda. El compañero del hilo ya lo había hecho sin saberlo: sus tiendas iban bien en otros sitios y solo en ese hosting llegaban a los 15 segundos.
El límite de conexiones
Un compañero especialista en servidores apuntó a algo que ya había salido en el grupo varias veces: los hostings compartidos suelen limitar las conexiones simultáneas a la base de datos, con un tope que depende del plan. Con una tienda pequeña no deberías acercarte. Si llegas, algo falla en PrestaShop: consultas que se quedan colgadas, un cron que se solapa consigo mismo, un módulo que abre conexiones sin cerrarlas o un bot recorriendo los filtros.
Por eso el síntoma de «dos semanas bien y luego lento» encaja: la base de datos crece, alguna consulta se vuelve lenta, las conexiones se acumulan y el límite del plan hace el resto.
El listado de pedidos que tarda una eternidad
Gustavo lo ha visto más de una vez y al final era un problema de índices. El listado de pedidos cruza varias tablas grandes (pedidos, clientes, direcciones, estados) y, según la configuración del servidor, una consulta sin el índice adecuado tarda segundos en un sitio y décimas en otro. Antes de culpar a nadie, mira en el profiling qué consulta es la lenta. Con ese dato, el hosting ya no te puede decir que todo está bien.
Resumen: limpia, bloquea, actualiza, repara y mejora. Si tu tienda está limpia, no da errores y el hospedaje está bien optimizado, no deberías tener problemas.
Para ver de un vistazo qué módulo o qué consulta frena tu tienda, RKR Diagnoses hace ese análisis desde el back-office.
Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación