Error intermitente pero problemático - "Error al establecer conexión con la base de datos"

1 ago 2019, 02:35:07
Vistas: 291
Votos: 0

Sé que probablemente has visto a muchos miembros aquí quejándose del siguiente error:

Error al establecer conexión con la base de datos

Esto significa que la información de usuario y contraseña en tu archivo wp-config.php es incorrecta o no podemos contactar al servidor de base de datos en myamazingsite.com:3306. Podría significar que el servidor de base de datos de tu hosting está caído.

Te prometo que no he cometido los siguientes dos errores/pecados mortales:

  1. Mis DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_CHARSET, y DB_COLLATE son correctos con las credenciales adecuadas.
  2. Mis WP_HOME y WP_SITEURL están comentados en el archivo de configuración, pero mis entradas en la BD respecto al nombre de dominio (en wp_options, wp_blogs, etc.) coinciden con el nombre de dominio enrutado a mi servidor. Todos incluyen el protocolo (https://) según sea requerido - sí en wp_options, no en wp_blogs, como ejemplo.

Entonces, no es un problema de credenciales. Además, lo sé porque es intermitente - ocurre aproximadamente una vez cada 10 solicitudes a mi WordPress, solo probándolo yo mismo. Pero les está pasando a mis clientes mientras navegan el sitio ocasionalmente, y obviamente eso no es aceptable.

He leído en otros lugares que esto significa que es un problema de carga del servidor, porque ocurre solo ocasionalmente. Pero no lo creo, al menos no en este caso. Toda mi utilización de recursos tanto en el servidor de aplicaciones como en el servidor de BD es muy baja. El tráfico también es bastante bajo, no más de 3 solicitudes concurrentes por segundo.

¿Entonces tal vez era un problema de red? No. Hice ping al servidor de BD desde el servidor de aplicaciones más de 100 veces seguidas usando nping y el ping nunca falló con un 100% de éxito en esa prueba. Además, otras aplicaciones en el servidor (no WordPress) no tienen problemas para conectarse al mismo servidor de BD.

¿Entonces qué podría ser? Me he quedado sin ideas. Debe ser otro error/truco específico de WordPress que desconozco. ¡Por favor ayúdame!

0
Todas las respuestas a la pregunta 1
3

Investigaría los problemas de conexión a la base de datos. Hay un número específico de conexiones a la base de datos permitidas - un ajuste en la configuración de la base de datos (no recuerdo cuál) - y si hay demasiadas conexiones, la siguiente conexión fallará.

Contacta con tu proveedor de alojamiento y pídeles que aumenten el número de conexiones permitidas a la base de datos. Es un ajuste que ellos tienen que hacer, al menos en mi proveedor de alojamiento; yo no tenía acceso a los archivos de configuración de la base de datos.

Puede que te sugieran actualizar a un servidor dedicado, en lugar de un servidor compartido - eso resolvió un problema similar para mí, aunque nunca pensé que el sitio tuviera tanto tráfico como para necesitar un servidor dedicado.

Sin embargo, mi problema similar (creo) fue muy difícil de diagnosticar, así que quizás el "necesitas un servidor dedicado" fue solo una estrategia de venta.

1 ago 2019 03:33:29
Comentarios

¡Gracias por tu respuesta! Pero no, no creo que sea eso. No son muchas conexiones. Estoy usando AWS y no creo que limiten así como lo hacen algunos hosts más administrados: todas las métricas de utilización están bajas. A menudo, si actualizo de inmediato, el error desaparece antes de volver a aparecer. La mayor acción que ha tenido mi base de datos fue en la prueba de ping, que arrojó un 100% de éxito.

Søren Søren
1 ago 2019 03:46:22

¡Hablé demasiado pronto! Hay un límite: 312 conexiones concurrentes para mi base de datos. Sin embargo, nunca ha tenido ni cerca de esa cantidad de conexiones simultáneas.

Søren Søren
1 ago 2019 03:52:24

Todavía podrías estar alcanzando el límite de conexiones concurrentes. Una solicitud de página puede tener varias solicitudes de conexión, dependiendo de cómo estén construidos el tema y los plugins. El lugar de hosting debería poder monitorear/ver tu conteo de conexiones concurrentes durante un período de tiempo. Quizás eso te dé alguna información. Fue difícil para mí diagnosticar ese error en uno de mis sitios.

Rick Hellewell Rick Hellewell
1 ago 2019 18:17:56