Wir haben einen Cluster von 2 Replikat-Sets mit 3 Servern pro Set. Mit einer einzigen Sammlung wird geschärft. Wir haben auch ein paar mehr (8+) Sammlungen, die wir täglich verwenden. Die meisten Daten befinden sich in der Sammlung mit fast 100 Millionen Datensätzen.
Vor kurzem haben wir die Anforderung hinzugefügt, die Daten, die wir zuvor bekommen haben, 100x zu erhalten, und wir müssen dies auf mongodb schreiben. Ein Daemon wurde eingerichtet, um die Schreibvorgänge auszuführen, die notwendig sind, um die Datenbank auf dem neuesten Stand zu halten. Das Skript führt bei über 200 Schreibvorgängen eine Sekunde aus, wobei die Mehrheit zu allen separaten Sammlungen geht.
Mit dieser Menge an Schreibvorgängen konnten wir keine großen Lesevorgänge für analytische Zwecke durchführen. Empfangen einer Kombination von Cursor-Timeouts clientseitig und serverseitig ("Cursor Not Found").
Wir haben versucht, Limits / Skip-Schemata für die Lesevorgänge zu verwenden, aber das Problem besteht weiterhin. Was ist die beste Vorgehensweise, um dies zu beheben, da wir eine große Menge an Schreibvorgängen mit wenigen, aber großen Lesevorgängen benötigen?
Normalerweise möchten Sie in einem solchen Fall die Abfragen untersuchen, die die Uhrzeit verursachen. Dann wollen Sie sich die Hardware ansehen, um zu sehen, was gestresst wird.
Gibt es auch etwas ungewöhnliches in den Protokollen?
Grundsätzlich müssen wir sicherstellen, dass Sie: 1. Korrekt das System für die Abfrage erstellt 2. Das System wurde ordnungsgemäß für die Datenvolumen bereitgestellt
Tags und Links mongodb