
En mi servidor tengo 7 bases de datos. Nuestro servidor tiene 512 MB de RAM que actualizaré esta tarde a 2 GB y tiene un procesador único 2.4.
Recibí un error acerca de que se excedió el límite de conexión. Al aumentar mi RAM, ¿está bien aumentar la cantidad de conexiones? Actualmente está configurado en 200, pero una sola página puede conectarse a 3 o 4 bases de datos considerando JOIN y demás.
Hemos configurado tantas bases de datos para una mera organización. Tenemos un total de entre 250 y 300 tablas en todas las bases de datos.
Cualquier consejo sería apreciado :)
Actualizar
Resulta que tengo muchas más conexiones de las que pensaba...
Con 2 GB de RAM y un núcleo único de 2,4, ¿son exactas 50 conexiones de usuario o debería aumentar esa cifra?
[mysqld]
safe-show-database
skip-locking
safe-show-database
interactive_timeout=30
wait_timeout=30
connect_timeout=10
max_user_connections=50
max_connections=1000
key_buffer=64M
join_buffer=2M
record_buffer=2M
sort_buffer=4M
max_allowed_packet=24M
query_cache_limit = 2M
query_cache_size = 64M
query_cache_type = 1
tmp_table_size=128M
table_cache=2048
thread_cache=256
thread_concurrency=1
Respuesta1
Debería poder aumentar sustancialmente sus conexiones. Sin embargo, si no ajusta adecuadamente el uso de memoria por subproceso, corre el riesgo de que MySQL se quede sin memoria. Que MySQL se quede sin memoria puede ser una situación desastrosa y es mejor evitarla.
Un ejemplo de lo que sucede cuando no sintonizas correctamente:
MySQL sigue reiniciándose debido a que se queda sin memoria
Algunas recomendaciones de ajuste anteriores que proporcioné:
¿Cómo configuro my.cnf en Mysql para que no haya límites de conexiones?
El enlace aUso de memoria InnoDBincluye una fórmula para calcular el uso de memoria de InnoDB, que puede insertar en una hoja de cálculo para calcular el uso de memoria por subproceso.
Aquí hay más información sobreUso de la memoria del servidor MySQL.
En última instancia, su objetivo debe ser calcular el uso máximo de memoria por subproceso en función de su configuración. Una vez calculado, puede establecer sus conexiones máximas en el valor adecuado.
Respuesta2
En máquinas de 1 GB, configuramos habitualmente max_connections en 750 sin problemas
Respuesta3
Si usa PHP, edite el archivo de configuración de PHP, generalmente en /etc/php.ini y cambie la persistencia a APAGADO.
[MySQL]; Permitir o impedir conexiones persistentes. mysql.allow_persistent = Desactivado
Eso es todo. Reinicie Apache.