Too many connections , demasiadas conexiones Mysql
Un error común que nos puede romper la cabeza es cuando en un inicio nuestra web no daba problemas, y al cabo del tiempo empieza a aparecer este incomodo error a nuestros usuarios.
Existe una variable para determinar este número máximo de conexiones permitidas llamada max_connections, por defecto es 100 si gastamos este número permitido en consultas en nuestra web cuando existen varios usuarios conectados  nuestra base no permitirá las consultas mandadas por el usuario 102, sà ya que ese 1 extra está reservada para el super usuario.
Bien ahora que ya sabemos a que se debe nuestro problema, ¿Qué podemos hacer ?.
Cambiar este parametro es fácil, solo hay que ejecutar la sentencia de abajo y resetar la base de datos :
SET GLOBAL max_connections=500;
Pero realmente solucionará esto nuestro problema, la respuesta es realmente no tiene porque. Con este cambio permitimos el acceso a 500 +1 usuarios a la vez, ¿soportará esto nuestro host?.
Este es el verdadero problema al que nos enfrentamos ahora. Nuestros servidores de linux y solaris dedicados puede soportar entre 500 y 1000 conexiones, eso sÃ, siempre dependiendo de la RAM. De todas formas no hay que confundir el número de visitantes con el número de usuarios de la base de datos, normalmente una web basada en software PHP, no llegará alos 400 usuarios instantáneos a no ser que realmente hablemos de web grandes con mucho tráfico.
Espero os haya servido para soluciones el problema rapidamente.



2 Respuestas
Javier
marzo 29th, 2011 a 12:09 am
1Te cuento que estoy tratando este problema en un foro. Dicho foro tiene mucho tráfico, para que te des una idea maneja más o menos 90mil visitas únicas de forma mensual.
Lo primero que atiné a hacer es a setear la variable max_connections de 800 a 1600 conexiones mientras busco una solución adecuada. Mi pregunta es si el hosting aguanta 1600 conexiones de forma simultanea.
Te paso las caracterÃsticas del hosting:
- Es un dedicado, es un servidor privado virtual ( vps ) no comparte recursos con otros sitios.
- Tiene 1GB de RAM dedicado
- Tiene instalado centos
VideoTutoriales
marzo 29th, 2011 a 8:40 am
2Buenas Javier
Quiero suponer que si max_connections la tienes a 1600 y sigues en producción es que el servidor aguanta esas conexiones
En el caso para poder darte más ideas, necesitarÃa saber que procesador, ya que las conexiones tambien las gestiona la CPU, pero estamos hablando de 90000 mensuales que al dÃa se resumen en 3000, a mi parecer son suficientes recursos, más que suficientes. De todas maneras siempre puedes ver las analiticas de rendimiento del servidor, supongo que tu proveedor te debe de dar algún servicio para poder verlo, o por ssh entrar y ver tu CentOS
Un saludo!
Insertar al RSS los comentarios de esta entrada
Escribe tu comentario