Tengo el siguiente script PHP que básicamente se conecta a la MongoDB, escribe un documento y luego cierra la conexión 19000 veces:¿Qué sucede cuando las conexiones a MongoDB no están cerradas?
<?php
for($i=0; $i < 19000; $i++) {
$con = new Mongo("mongodb://localhost:27017");
$db = $con->selectDB('test');
$col = $db->selectCollection('close_wait_test');
$col->insert(array('Test' => 'Value1'));
$con->close();
}
?>
ejecutar este script una vez que funciona bien, pero si se me acaba el guión unos segundos más tarde , Obtengo la excepción 'No se puede asignar la dirección solicitada', lo cual es comprensible ya que el sistema del servidor probablemente se quedó sin puertos.
Sin embargo, elimino $ con> close(); Puedo ejecutar esa secuencia de comandos una y otra vez sin ninguna tensión notable en la base de datos. Supongo que esto se debe a que la conexión a la base de datos es persistente y reutiliza la misma conexión inicial en el script.
Lo que me gustaría saber es si 20k + usuarios diferentes ejecutaron 1 bucle de este script al mismo tiempo, ¿qué pasaría con la base de datos? p.ej. ¿las conexiones disponibles simplemente se agotarían porque cada usuario necesita crear una conexión con la base de datos? ¿O todos esos usuarios estarían usando la misma conexión inicial creada por el primer usuario?
¡Gracias por la explicación! –