2016-11-10 7 views
1

Ich verwende den folgenden Code, um eine Verbindung zu meinem mongoDB von PHP herzustellen. Hier ist meine Erweiterung Info von meinem localhost, und das gleiche gilt für Beta und Prod. version statMongoDB Datenbankverbindung in PHP

Ich verwende den folgenden Code, um eine Verbindung zur Datenbank herzustellen.

In SQL-Datenbanken verwenden wir Verbindungs-Pooling. Ich vermute mongodb hat auch einen, ich bin mir nicht sicher. Ich habe es gegoogelt, aber nichts nützliches kommt für diese neue mongodb 1.1.x Version auf.

Ist das ein besserer Weg, dies zu tun?

UPDATE

sagte Wie von Luiz Eduardo de Christo here, ich bin zur Verlängerung der Frage für die weitere relevante Informationen.

Falls das Verbindungs-Pooling nicht relevant ist, wie wird mit einer großen Anzahl von Verbindungen umgegangen? Wie viel RAM jede Verbindung benötigt, vorausgesetzt, ich habe es geschafft, für jede HTTP-Anfrage nur eine Verbindung zu verwenden und alle Transaktionen mit dieser einen Verbindung zu verwalten, sagen wir habe einen Server mit 8GB RAM, Hexacore Xeon E5 @ 3.1 GHz auf CentOS oder Ubuntu, mongod allein ohne andere Server wie Apache läuft, wie viel maximale Verbindungen kann ich machen? Wie viele gleichzeitige Benutzer kann mein Server handhaben? Gibt es eine Möglichkeit, dies auf MongoDB 3.2 zu optimieren?

PS: Keine Informationen, die ich über Datenbankoptimierung in Bezug auf die Serverkonfiguration finden kann.

Antwort

1

Ihr Code sieht gut aus. In Bezug auf Pooling:

Nach dem PHP-Handbuch:

Dieser Abschnitt ist nicht mehr relevant, da die 1.3.0 Release des Fahrers und dient lediglich als historische Informationen darüber, wie die Bündelung verwendet Arbeit. "Die neuesten Versionen des Treibers haben kein Konzept des Poolings mehr und wird nur eine Verbindung pro Prozess, für jede Verbindung Typ (ReplicaSet/Standalone/Mongos), für jede Anmeldeinformationen Kombination beibehalten."

http://php.net/manual/pt_BR/mongo.connecting.pools.php

Mit freundlichen Grüßen, Eduardo.

+0

Wie können wir große Verbindungsvolumina verwalten? Irgendwelche Infos dazu? Oder ist diese Methode effizient? – Sibidharan

+0

Vielleicht sollten Sie sich in diesem Fall nicht mehr um Ihre Infrastruktur kümmern müssen, als über Ihren Code (da die Verbindungen von PHP verwaltet werden)? Alles, was mir einfällt, ist die Verwendung von Mongodb Replicas mit Clustern und Shards. Bitte werfen Sie einen Blick auf: (https://docs.mongodb.com/manual/replication/) und http://stackoverflow.com/questions/17839962/persistent-connection-or-connection-pooling-in -php54-nginx-phpfpm-mongodb https://www.quora.com/How-should-I-set-up-mongodb-cluster-to-handle-20K+-simultaneous-connections – deChristo

+0

In diesem Fall, gut . Ich aktualisiere die Frage, für das Verbindungsmanagement und maximale Verbindungen, die man machen kann. Bitte geben Sie mehr Daten dazu an, wenn Sie können. – Sibidharan