2016-05-30 13 views
0

Wir verwenden MongoDb(3.0.6) für die Anwendung, die wir verwenden. Wir haben ungefähr 150 Einträge in einer der Sammlungen, aber es dauert ca. 500ms, um alle diese Datensätze zu holen, was ich nicht erwartet hatte. Mongo wird auf einem Unternehmensserver bereitgestellt. Was kann getan werden, um diese Zeit zu reduzieren?mongodb nimmt 500 ms beim Abrufen von 150 Datensätzen

Wir bekommen nicht zu viele Lesevorgänge und es gibt keine CPU-Last, etc, was Fehler sein kann, die dies verursachen können oder welche Config-Änderungen sich auf diese auswirken sollten.

Hier ist mein Schema: http://pastebin.com/x18iDPKf

ich nur alle Einträge bin Abfrage, die 160 an der Zahl sind. Ich glaube nicht, dass die benötigte Zeit auf Mongoose oder NodeJs zurückzuführen ist, wie wenn ich RoboMongo verwende, dauert es immer noch dieselbe Zeit.

Output of db.<collection>.stats().size : 
223000 

Die Abfrage, die ich tue, ist:

db.getCollection('collectionName').find({}) 
+0

Sind Sie mit Ihrem MongoDB-Server lokal oder wird gehostet, oder was? – robertklep

+0

@JohnnyHK Frage ist aktualisiert. – Saurabh

+0

@robertklep Frage aktualisiert, – Saurabh

Antwort

0

Auf jeden Fall ist es kein Problem mit MongoDB sein sollte. Es sollte ein vorübergehendes Problem sein oder auf Systemeinschränkungen wie Interner Speicher usw. zurückzuführen sein.

Wenn das Problem weiterhin besteht, verwenden Sie Indizes für das entsprechende Feld, das Sie abfragen.

https://docs.mongodb.com/manual/indexes/

+0

Das passiert eigentlich jedes Mal, ich habe es auch versucht, aber das hat nicht viel geholfen und es gibt sowieso nur 200 Einträge, also muss ich einen anderen dummen Fehler machen, den ich irgendwo mache. – Saurabh

+0

Veröffentlichen Sie Ihr Schema und Ihre Abfrage, um mehr über das Problem zu erfahren –

+0

Aktualisieren Sie die Frage, um Schema hinzuzufügen. – Saurabh

Verwandte Themen