MySQL

ID #1071

Too many connections - como subir MaxClients y max_connections?

Si te sale el mensaje de error o warning:

Too many connections

Este manual es para  Ubuntu/Debian

puedes configurar lo siguiente en tu vps para que soporte más conneciones:

  • subir max_connections  de mysql
  • subir los MaxClients de Apache

manual:

  1. entra en tu vps de mammtus con ssh como usuario root. (Si tienes windows, puedes instalar antes un programa como Putty).
    ssh -l root 62.112.xxx.xxx
  2. usamos un editor de lineas de comando como por ejemplo pico o nano o vim
    pico /etc/apache2/apache2.conf
  3. una vez abiero el fichero apache2.conf con el editor pico (nano, vim, ...)
    buscamos con la tecla F6 la variable: MaxClients
    y cambiamos el valor (estandar es a menudo 10) a algo más grande, pero menos que 100,
    por ejemplo 80.
  4. (Si tienes CentoOs o Suse como sistema operativo, tienes que subir además el ServerLimit. Un valor entre 25 y máximo 50 puede estar bueno.)
  5. Para encontrar los valores ideales, se trata de estimar lo mejor posible los accesos paralelos al servidor.
  6. guardamos los cambios con ctrl-o y salimos con ctrl-x (eso para el editor pico)
  7. con eso hemos cambiado la variable MaxClients del servidor web Apache. Ahora vamos a cambiar la misma variable para la base de datos mysql. En mysql la variable se llama: max_connections
  8. pico /etc/mysql/my.cnf
  9. con F6 buscamos max_connections
  10. y cambiamos el valor (suele ser 10 por estandar) al mismo valor que hemos dado a MaxClients en el Apache (menos que 100, por ehemplo 80).
  11. guardamos con ctrl-o y salimos con ctrl-x
  12. Ahora hay que reiniciar mysql y apache:
    /etc/init.d/mysql restart
    y
    /etc/init.d/apache2 restart
  13. Y ya esta hecho :-) A ver si ahora funciona mejor tu página web cuando acceden muchos usuarios.

Resumen: si te sale SQLSTATE[00000] [1040] Too many connections

  • para mysql: aumentar en /etc/mysql/my.cnf o /etc/my.cnf el valor de max_connections a algo < 100
  • para Apache: aumentar en etc/apache2/apache2.conf el valor de MaxClients a algo < 100
  • reiniciar musql: /etc/init.d/mysql restart
  • /etc/init.d/apache2 restart
Categorías para este artículo

Registros relacionados:


Última actualización: 2013-04-25 16:44 Autor: Martin Revisión: 1.3