Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/01/2011, 07:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con multiples conexiones

Es un error de programación: Hacer un loop donde se abren y cierran conexiones a la base es una pésima práctica, ya que los recursos de las conexiones no se liberan realmente con tanta rapidez, y eventualmente el pool de conexiones se satura.
Tanto en Windows como en el host donde se encuentre el servidor, las conexiones tardan en desaparecer del pool; además, los webhosting no te dan acceso a conexiones en forma infinita, porque eso consume recursos.
¿Nunca escuchaste hablar de los ataques por denegación de servicios (DoS)? Bueno, precisamente eso es lo que estás haciendo en una escala pequeña... como cada conexión se declara en el sistema como proveniente de un user a través de una conexión, y las anteriores no están efectivamente liberadas, bueno, el sistema colapsa.
Este tipo de técnicas recibe el nombre de SYN FLood e ICMP Flood.

Lo que debes hacer es abrir una sola conexión por sesión y realizar todas las consultas con ella. No abrir secuencialmente conexiones. En todo caso lo que debes liberar son los recursos de la consulta.

Cita:
Y otra duda, ¿Qué diferencia hay en la conexion tradicional de mysql_connect() en PHP y
mysql://usuario:password@localhost/base_de_datos?
Esos son temas de implementación de librerías, programación de conectores.
Además, ¿a qué te refieres con "mysql://usuario:password@localhost/base_de_datos"? ¿A la conexión por consola?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/01/2011 a las 07:46