sql >> Base de Datos >  >> RDS >> Mysql

MySQL Error Demasiadas conexiones

Los proveedores de alojamiento compartido generalmente permiten una cantidad bastante pequeña de conexiones simultáneas para el mismo usuario.

Lo que hace tu código es:

  • abrir una conexión al servidor MySQL
  • hacer sus cosas (generar la página)
  • cierre la conexión al final de la página.

El último paso, cuando se hace al final de la página no es obligatorio :(citando mysql_close manual de) :

Pero tenga en cuenta que probablemente no debería usar conexiones persistentes de todos modos...

Dos consejos:

  • usar mysql_connect en lugar de mysql_pconnect (ya está bien para ti)
  • Establezca el cuarto parámetro de mysql_connect en falso (ya está bien para usted, ya que es el valor predeterminado) :(citando el manual) :


Entonces, ¿qué podría causar el problema?

Tal vez esté intentando acceder a varias páginas en paralelo (usando varias pestañas en su navegador, por ejemplo) , que simulará varios usuarios usando el sitio web al mismo tiempo?

Si tiene muchos usuarios usando el sitio al mismo tiempo y el código entre mysql_connect y el cierre de la conexión lleva mucho tiempo, significará que se abrirán muchas conexiones al mismo tiempo... Y llegarás al límite :-(

Aún así, como usted es el único usuario de la aplicación, teniendo en cuenta que tiene permitidas hasta 200 conexiones simultáneas, está sucediendo algo extraño...


Bueno, pensando en "demasiadas conexiones " y "max_connections "...

Si no recuerdo mal, max_connections no limita el número de conexiones usted puede abrirse al servidor MySQL, pero el número total de conexiones que puede abrirse en ese servidor, por cualquiera que se conecte a él .

Citando la documentación de MySQL en Demasiadas conexiones :

Entonces, en realidad, es posible que el problema no provenga de usted ni de su código (que en realidad se ve bien) :podría "simplemente" ser que usted no es el único que intenta conectarse a ese servidor MySQL (recuerde, "alojamiento compartido") , y que hay demasiadas personas usándolo al mismo tiempo...

... Y si tengo razón y es que , no hay nada que pueda hacer para resolver el problema:siempre que haya demasiadas bases de datos/usuarios en ese servidor y esa max_connection está puesto en 200, seguirás sufriendo...


Como nota al margen:antes de volver a preguntarle a GoDaddy sobre eso, sería bueno si alguien pudiera validar lo que acabo de decir ^^