Leistung

Gen 2

IBM Cloud® Databases for MongoDB Die Bereitstellungen können manuell an Ihren Bedarf angepasst werden. Wenn Sie die Leistung Ihrer Bereitstellung optimieren möchten, sollten Sie zunächst einige Faktoren berücksichtigen.

Bereitstellung überwachen

Databases for MongoDB Deployments bieten eine Integration mit dem Dienst „ IBM Cloud® Monitoring “ zur grundlegenden Überwachung der Ressourcennutzung, wie beispielsweise der Festplattenauslastung und der IOPS Ihres Deployments. Die Beobachtung von Nutzungstrends kann dazu beitragen, Leistungsprobleme zu beheben, bevor Ihre Datenbanken aufgrund von Ressourcenknappheit instabil werden.

Plattenbelegung

Wenn Sie wissen möchten, wie viel Speicherplatz MongoDB für die Speicherung Ihrer Daten belegt, können Sie einige native Diagnosetools für die Datenspeicherung unter MongoDB ausführen, um die Größe von Elementen wie Datenbanken, Sammlungen und Indizes zu ermitteln. Wenn die ungefähre Größe Ihrer Datenmenge bekannt ist und keine Änderungen zu erwarten sind, können Sie Ihre Platte manuell entsprechend Ihrer Datenmenge skalieren.

Platten-E/A

Die Anzahl der E/A-Operationen pro Sekunde (IOPS) in Databases for MongoDB-Bereitstellungen ist durch den Datenträgertyp begrenzt. Die Speichervolumes für „ Databases for MongoDB “-Bereitstellungen sind Block-Speichervolumes der Kategorie „Endurance“ mit 5 IOPS pro GB. Wenn die E/A-Auslastung an ihre Grenzen stößt, kann dies dazu führen, dass Ihre Datenbanken eine hohe Antwortzeit aufweisen oder sogar vollständig blockiert zu sein scheinen. Nicht optimierte Abfragen, die Erstellung von Indizes und das Anlegen neuer Indizes können zu IOPS-Spitzen führen. Auch normale Anwendungslasten können die für Ihre Bereitstellung verfügbaren IOPS überschreiten.

Sie können die Anzahl der für Ihre Bereitstellung verfügbaren IOPS erhöhen, indem Sie den Plattenspeicher vergrößern.

Weitere Informationen finden Sie in der Dokumentation zu „ MongoDB “.

WiredTiger-Cache und Speicher

Databases for MongoDB verwendet die Speicher-Engine „ WiredTiger “, die sowohl den Speicher-Cache des Dateisystems als auch einen internen Speicher-Cache nutzt. Die MongoDB-Leistung ist am höchsten, wenn Ihre Daten über den internen Cache geliefert werden, etwas niedriger, wenn sich die Daten im Dateisystemcache befinden, und am niedrigsten, wenn Anfragen für Ihre Daten über die Festplatte bedient werden müssen.

Die Standardgröße des internen Caches beträgt entweder 50% of (total RAM per member - 1 GB) oder 256 MB – je nachdem, welcher Wert größer ist. Beispielsweise beträgt die Mindestspeichergröße einer „ Databases for MongoDB “-Bereitstellung 4096 MB pro Datenelement, sodass der interne Cache 1536 MB groß ist (da 0.5 * (4096 MB - 1024 MB) = 1536 MB.

Das Verhältnis zwischen internem Cache und Dateisystemcache kann für Ihre Bereitstellung nicht vom Benutzer konfiguriert werden, Sie können jedoch die Gesamtgröße des Speichers skalieren und den internen Cache dadurch so vergrößern, dass Ihre Datenbank leistungsfähiger wird. Wenn Sie beispielsweise den Arbeitsspeicher auf 5120 MB pro Mitglied skalieren, beträgt die Größe des internen Caches 2048 MB. 0.5 * (5120 MB - 1024 MB) = 2048 MB.

Eine andere Einsatzvariante der automatischen Skalierung besteht darin, den Speicher so zu konfigurieren, dass eine Skalierung erfolgt, wenn die Platten-E/A-Auslastung einen bestimmten Schwellenwert erreicht. Ein Erhöhen der Hauptspeichergröße reduziert die Menge der MongoDB-Plattenleseoperationen und -schreiboperationen und kann so durch die Unterstützung zusätzlichen Cachings die Beanspruchung bei der Platten-E/A reduzieren.

Weitere Informationen zum „ WiredTiger “-Cache finden Sie in der Dokumentation unter „ MongoDB “.

Abfrageleistung

Die Dokumentation zu „ MongoDB “ enthält zahlreiche Ressourcen zum Thema Abfrageleistung, darunter eine Anleitung zur Analyse der Abfrageleistung. Sobald Sie einen allgemeinen Überblick über die Leistung Ihrer Abfragen haben, finden Sie dort auch Tipps zur Optimierung Ihrer Abfragen.

Als fortgeschritteneres Thema können Sie erfahren, wie „ MongoDB “ Abfragepläne verwaltet.

Weitere MongoDB-Überwachungstools

Auch einige der nativen MongoDB-Überwachungsfunktionen können für Sie von Vorteil sein. Du kannst zum Beispiel beides verwenden mongotop und mongostatverwenden.

Führen Sie einen der dokumentierten Befehle aus, die Auskunft über den Status Ihrer „ MongoDB “-Datenbank geben.

Viele der Dienstprogramme und Befehle von „ MongoDB “ benötigen zur Ausführung die Rolle „ Cluster Monitor “. Sie ist nicht Teil des Standard-Rollensatzes von „ manager “. Die Rolle „Cluster-Monitor“ zuweisen an den Benutzer „ manager “ in Ihrer Bereitstellung.