MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Was passiert, wenn Verbindungen zu MongoDB nicht geschlossen werden?

Sie sollten nicht bei jeder Iteration ->close() aufrufen. Wenn Sie close aufrufen, weisen Sie den Treiber an, eine dauerhafte Verbindung nicht wiederzuverwenden. Wenn Sie dies in einer engen Schleife ausführen, gehen dem Betriebssystem die zu verwendenden Ports aus, da sie sich alle im TIME_WAIT-Zustand befinden.

Der PHP-Treiber verwendet dauerhafte Verbindungen, und wenn Sie (ohne ->close aufzurufen) "new Mongo" wie in Ihrem Beispiel in einer engen Schleife ausführen, wird der Treiber nicht neue Verbindungen herstellen und die bereits vorhandene wiederverwenden.