Su mejor opción es aumentar max_connections
. Para una instancia de MySQL que sirve varias aplicaciones web diferentes (raw php, WordPress, phpBB), probablemente desee un valor de al menos 60 para esto.
Emita este mandato y se le averiguar cuántas conexiones globales que tiene disponible:
show global variables like '%connections%'
Puede averiguar cuántas conexiones están en uso en un momento dado de esta manera:
show status like '%connected%'
Usted puede averiguar lo que está haciendo cada conexión de la siguiente manera:
show full processlist
lo haría intente obtener un valor global de al menos 100 conexiones si yo fuera usted. Su proveedor de servicios debería poder ayudarlo si no tiene acceso para hacerlo. Debe hacerse en la configuración del archivo my.cnf
para MySQL. No lo configure demasiado alto o se corre el riesgo de que su proceso de servidor MySQL devore toda su memoria RAM.
Un segundo enfoque le permite asignar esas conexiones generales a sus diferentes usuarios de MySQL. Si tiene diferentes nombres de usuario MySQL para cada una de sus aplicaciones web, este enfoque funcionará para usted. Este enfoque está escrito aquí.https://www.percona.com/blog/2014/07/29/prevent-mysql-downtime-set-max_user_connections/
El enfoque final para controlar este problema es más sutil. Probablemente estés utilizando el servidor web Apache como tecnología subyacente. Puede reducir el número de tareas de Apache ejecutándose al mismo tiempo que, paradójicamente, aumentar rendimiento. Eso es porque Apache pone en cola las solicitudes. Si tiene algunas tareas que atraviesan la cola de forma eficiente, a menudo es más rápido que muchas tareas porque hay menos contención. También requiere menos conexiones de MySQL, lo que resolverá su problema inmediato. Eso se explica aquí: Restart Mysql automatically when ubuntu on EC2 micro instance kills it when running out of memory
Por cierto, las aplicaciones web como WordPress utilizan un grupo de conexión persistente. Es decir, establecen conexiones a la base de datos MySQL, las mantienen abiertas y las vuelven a usar. Si sus aplicaciones están ocupadas, la duración de cada conexión debería ser de varios minutos.
Por favor, intenta dar un poco más de contexto, ni siquiera nos dijiste en qué idioma estás trabajando ... – Trufa
Hola Trufa, gracias por consultarlo, actualizado :) –
Todavía creo que la pregunta podría tener un poco más de detalle, de todos modos, ¿has intentado google tu problema? http://goo.gl/xW9Oe Parece que hay muchas respuestas interesantes, tal vez una puede ayudar. – Trufa