🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Too many connections' en PrestaShop con Plesk

Actualizado el 19 de noviembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si estás aquí es porque tu tienda en PrestaShop se ha vuelto lenta o directamente muestra un mensaje de error que dice: "Too many connections" (Demasiadas conexiones). No te preocupes, es un problema muy común en servidores compartidos o VPS cuando tu tienda recibe mucho tráfico o alguna tarea consume todas las conexiones disponibles a la base de datos. Vamos a solucionarlo paso a paso, usando Plesk como panel de control.


¿Qué significa el error "Too many connections"?

Imagina que tu base de datos es un restaurante con un número limitado de mesas (conexiones). Cuando entran demasiados clientes (procesos o visitas a la web) a la vez, el restaurante se llena y no puede atender a más gente. El error "Too many connections" aparece exactamente por eso: el sistema de gestión de base de datos (MySQL o MariaDB) ha alcanzado su límite máximo de conexiones simultáneas permitidas.

En PrestaShop, esto suele ocurrir cuando:

  • Hay picos de tráfico inesperados (como una promoción o un ataque DDoS).
  • Algún módulo o script no cierra correctamente las conexiones a la base de datos.
  • El límite de conexiones está configurado demasiado bajo para tu sitio.
  • Hay procesos "dormidos" (sleep) que se acumulan sin cerrarse.

Diagnóstico rápido desde Plesk

Antes de lanzarnos a solucionar, debemos saber cuántas conexiones tiene tu servidor y cuántas está usando PrestaShop. Aquí te explico cómo hacerlo desde Plesk:

1. Accede a Plesk y busca la sección de Bases de Datos

En el panel de Plesk, ve a "Bases de datos" (o "Databases" en inglés). Allí verás listadas todas las bases de datos de tu dominio, incluyendo la de PrestaShop (suele llamarse algo como tienda_prestashop).

2. Conéctate a la base de datos usando phpMyAdmin

Haz clic en el nombre de la base de datos y luego en "phpMyAdmin". Esto abrirá una ventana donde podrás ejecutar consultas SQL de forma segura. Una vez dentro, ve a la pestaña "Estado" (Status) o "Variables" (Variables). Busca la variable max_connections (conexiones máximas) y Threads_connected (hilos conectados). Si Threads_connected está muy cerca o igual a max_connections, ese es el problema.

3. Consulta rápida desde la línea de comandos (si tienes acceso SSH)

Si te sientes más cómodo, puedes usar SSH y ejecutar:

SHOW VARIABLES LIKE 'max_connections';
SHOW STATUS LIKE 'Threads_connected';

Pero no te preocupes, lo haremos todo desde Plesk para que sea más visual.


Solución paso a paso

Vamos a atacar el problema desde varios frentes. Sigue estos pasos en orden, del más sencillo al más técnico.

1. Aumentar el límite de conexiones en Plesk

El primer paso es subir el valor de max_connections para que tu base de datos pueda manejar más tráfico. Para ello:

  1. En Plesk, ve a "Herramientas y configuraciones" (Tools & Settings).
  2. Busca la sección "Servicios" y haz clic en "Configuración del servidor de base de datos" (Database Server Settings).
  3. Verás una opción llamada "Conexiones máximas" (Max connections). Por defecto suele estar en 100 o 150. Cámbiala a 200 o 300 si tu servidor tiene suficiente memoria RAM (por cada conexión extra, MySQL usa unos 2-4 MB adicionales).
  4. Haz clic en "Aceptar" y luego en "Reiniciar servicio" (Restart Service) para aplicar los cambios.

[WARNING] Aumentar demasiado este valor puede saturar la memoria RAM del servidor. Si tienes un VPS con 1 GB de RAM, no subas de 200 conexiones. Si es un servidor compartido, consulta con tu proveedor de hosting.

2. Optimizar PrestaShop para reducir conexiones

A veces el problema no es el límite, sino que PrestaShop está haciendo demasiadas consultas simultáneas. Aquí algunos ajustes clave:

2.1. Activar la caché de PrestaShop

La caché reduce drásticamente las consultas a la base de datos. En tu panel de administración de PrestaShop:

  • Ve a "Parámetros de la tienda" > "Rendimiento".
  • En "Caché", selecciona "Sí" y elige "Memcached" o "APC" si tu servidor lo soporta. Si no, usa "Sistema de archivos".
  • En "Combinar, comprimir y almacenar en caché", activa todas las opciones (CSS, JavaScript, etc.).

2.2. Limitar el número de conexiones por script

En el archivo config/settings.inc.php de tu PrestaShop (ubicado en la raíz de la instalación), puedes agregar esta línea para limitar el número de conexiones simultáneas por script:

define('_DB_PASSWD_', 'tu_contraseña');
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_base_de_datos');
define('_DB_USER_', 'tu_usuario');
define('_DB_PREFIX_', 'ps_');
// Agrega esto justo después:
define('_DB_CONNECTION_LIMIT_', 5); // Máximo 5 conexiones por script

Esto evita que un solo proceso abra muchas conexiones.

3. Identificar y matar procesos dormidos (sleep)

Las conexiones "dormidas" son las que más se acumulan. Desde phpMyAdmin en Plesk:

  • Ve a la pestaña "Procesos" (Processes) o ejecuta:
SHOW FULL PROCESSLIST;

Verás una lista de conexiones activas. Busca aquellas con Command = "Sleep" y que lleven mucho tiempo (columna Time). Puedes matarlas una a una con el botón "Kill" (si phpMyAdmin lo permite) o ejecutando:

KILL [ID_del_proceso];

Pero hazlo con cuidado: no mates procesos que estén ejecutando consultas importantes.

[TIP] Para evitar que esto vuelva a pasar, configura un límite de tiempo de espera en MySQL. En Plesk, en la misma sección de configuración del servidor de base de datos, busca "wait_timeout" y cámbialo a 30 o 60 segundos (por defecto suele ser 28800, ¡8 horas!). Así los procesos dormidos se cerrarán solos.

4. Revisar módulos de PrestaShop problemáticos

Algunos módulos de terceros (como los de chat en vivo, estadísticas avanzadas o carritos abandonados) pueden abrir múltiples conexiones a la base de datos sin cerrarlas. Para identificar al culpable:

  • Desactiva temporalmente todos los módulos no esenciales desde "Módulos" > "Gestor de módulos" en tu panel de PrestaShop.
  • Ve activándolos uno por uno y monitorea el número de conexiones desde phpMyAdmin (ejecutando SHOW STATUS LIKE 'Threads_connected';).
  • Si al activar un módulo en concreto el número se dispara, ese es el problema. Busca una actualización o una alternativa.

5. Solución avanzada: Configurar un pool de conexiones (si tienes acceso root)

Si tienes un VPS o servidor dedicado, puedes usar Syspanel (recuerda, el puerto de acceso es el 2106) para gestionar un pool de conexiones como ProxySQL o MySQL Router. Esto no lo recomiendo para usuarios principiantes, pero si te animas, desde Syspanel puedes instalar y configurar estas herramientas para repartir las conexiones de forma eficiente. Sin embargo, para la mayoría de los casos, los pasos anteriores serán suficientes.


Prevención a largo plazo

Una vez resuelto el error, es importante que tomes medidas para que no vuelva a ocurrir:

  • Actualiza PrestaShop y sus módulos regularmente. Las versiones antiguas suelen tener fugas de conexiones.
  • Usa un CDN (como Cloudflare) para reducir el tráfico directo a tu servidor.
  • Monitorea las conexiones semanalmente desde Plesk en la sección de "Estadísticas de base de datos" o configurando alertas.
  • Considera un plan de hosting más grande si tu tienda crece. Los servidores compartidos suelen tener límites muy ajustados.

Preguntas frecuentes (FAQ)

¿El error "Too many connections" puede dañar mi base de datos?

No, no la daña directamente, pero puede hacer que tu tienda se vuelva inaccesible y perder ventas durante ese tiempo.

¿Puedo solucionarlo sin reiniciar MySQL?

Sí, matando procesos dormidos y aumentando el límite en caliente (sin reiniciar) si tu configuración lo permite. En Plesk, al cambiar max_connections normalmente pide reinicio, pero puedes hacerlo desde línea de comandos con SET GLOBAL max_connections = 300; si tienes acceso SSH.

¿Qué hago si el error persiste después de estos pasos?

Revisa si hay un ataque DDoS o un bot rastreando tu tienda. Puedes bloquear IPs sospechosas desde el firewall de Plesk o usar un plugin de seguridad en PrestaShop.

¿Es seguro usar Syspanel para gestionar conexiones?

Sí, Syspanel (puerto 2106) es una herramienta confiable para administrar servidores. Si necesitas ayuda con configuraciones avanzadas, consulta su documentación o a tu proveedor de hosting.


Conclusión

El error "Too many connections" en PrestaShop usando Plesk es molesto pero totalmente solucionable. Con solo aumentar el límite de conexiones y optimizar la caché de tu tienda, en la mayoría de los casos el problema desaparece. Si no, ya sabes cómo identificar procesos dormidos y módulos conflictivos.

Recuerda: la clave está en la prevención. Mantén tu PrestaShop actualizado, monitorea las conexiones periódicamente y no dudes en pedir ayuda a tu proveedor de hosting si el tráfico de tu tienda supera los recursos de tu plan.

¿Te ha funcionado esta guía? Si tienes más dudas, estoy aquí para ayudarte. ¡Buena suerte con tu tienda online!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel