Estoy utilizando MySQL 5.0 para un sitio alojado por GoDaddy (Linux).Error de MySQL "Demasiadas conexiones"
Estaba haciendo algunas pruebas en mi aplicación web, y de repente noté que las páginas se actualizaban muy lentamente. Finalmente, después de una larga espera, llegué a una página que decía algo como "Error de MySQL, Demasiadas conexiones ...", y apuntaba a mi archivo config.php que se conecta a la base de datos.
Me acabo de conectar con la base de datos, no hay otros usuarios. En cada una de mis páginas, incluyo el archivo config.php en la parte superior y cierro la conexión de mysql al final de la página. Puede haber varias consultas en el medio. Me temo que no estoy cerrando las conexiones de mysql lo suficiente (mysql_close()).
Sin embargo, cuando intento cerrarlos después de ejecutar una consulta, recibo errores de conexión en la página. Mis páginas son PHP y HTML. Cuando intento cerrar una consulta, parece que la siguiente no se conectará. ¿Tendría que volver a incluir config.php después del cierre para poder conectarme?
Este error me asustó porque en 2 semanas, unas 84 personas comenzaron a usar esta aplicación web.
Gracias.
EDIT:
Aquí es un poco de pseudo-código de mi página:
require_once('../scripts/config.php');
<?php
mysql_query..
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
?>
some html..
..
..
..
..
<?php
another mysql_query...
?>
some more html..
..
..
<?php mysql_close(); ?>
que pensé que de esta manera, cada vez que se abra la página, la conexión se abre, y entonces la conexión se cierra cuando el la página está lista cargando A continuación, la conexión se abre de nuevo cuando alguien hace clic en un botón en la página, y así sucesivamente ...
EDIT:
bien, así que acabo de hablar por teléfono con GoDaddy. Aparentemente, con mi Paquete económico, estoy limitado a 50 conexiones a la vez. Mientras mi problema de hoy sucedía cuando solo yo accedía al sitio, me dijeron que estaban teniendo problemas con el servidor anteriormente. Sin embargo, viendo cómo voy a tener 84 usuarios para mi aplicación web, probablemente debería actualizar a "Deluxe", que permite 100 conexiones a la vez. En un día determinado, puede haber alrededor de 30 usuarios accediendo a mi sitio a la vez, por lo que creo que el 100 sería una apuesta más segura. ¿Están de acuerdo?
pegar algo de código por favor. – Dirk
Puede parecer una locura, pero intente poner algún tipo de contador en su método de conexión para ver si realmente solo se llama una vez por carga de página. Tuve un problema similar cuando en realidad estaba creando una nueva conexión para cada consulta sin darme cuenta. Puede valer la pena intentarlo. –
@Mike B gran sugerencia, sin duda intentaré esto. – littleK