Leistung
IBM Cloud® Databases for PostgreSQL-Bereitstellungen können sowohl manuell entsprechend Ihrer Nutzung skaliert oder mit automatischer Skalierung konfiguriert werden, je nach bestimmten Ressourcenbedingen. Es gibt einige Faktoren, die Sie bei der Optimierung der Leistung Ihrer Einrichtung berücksichtigen müssen.
Bereitstellung überwachen
Databases for PostgreSQL-Bereitstellungen bieten eine Integration mit dem Service IBM Cloud® Monitoring, um eine Basisüberwachung der Ressourcennutzung in Ihrer Bereitstellung zu gewährleisten. Viele der verfügbaren Metriken, wie z. B. Plattenbelegung und E/A-Operationen pro Sekunde, werden Ihnen bei der Konfiguration der automatischen Skalierung für Ihre Bereitstellung angeboten. Wenn Sie Nutzungstrends beobachten und die automatische Skalierung entsprechend konfigurieren, können Sie Leistungsproblemen entgegenwirken, bevor Ihre Datenbanken aufgrund nicht ausreichend verfügbarer Ressourcen instabil werden.
E/A-Operationen der Platte pro Sekunde
Die Anzahl der E/A-Operationen pro Sekunde (IOPS) wird durch den Typ des Speicherdatenträgers begrenzt. Speicherdatenträger für Databases for PostgreSQL-Bereitstellungen werden in Block Storage Endurance Volumes im Tier mit 10 IOPS pro GB eingerichtet. Wenn Ihre Betriebslast die IOPS-Grenze erreicht oder überschreitet, werden Datenbankanforderungen und -operationen verzögert, bis der Plattenspeicher wieder ausreicht. Längere Zeiten mit hoher Auslastung können dazu führen, dass Ihre Bereitstellung Abfragen nicht verarbeiten kann und praktisch nicht mehr verfügbar ist. Wenn Sie geminderte Reaktionsfähigkeit feststellen und Operationen fehlschlagen, deutet dies möglicherweise auf eine Überschreitung der IOPS-Begrenzung des Plattenspeichers hin. Sie können die Anzahl der für Ihre Bereitstellung verfügbaren IOPS erhöhen, indem Sie den Plattenspeicher vergrößern.
Es werden mindestens 100 GB Plattenspeicher (1.000 IOPS) für Produktionsumgebungen empfohlen.
Speicherbelegung
Die Speichereinstellungen der Databases for PostgreSQL-Bereitstellung werden basierend auf dem Gesamtspeicher der Bereitstellung automatisch optimiert. Genauer gesagt, work_mem
,
maintenance_work_mem
, und effective_cache_size
werden auf Bereitstellung, Wiederherstellung oder Skalierung gesetzt.
Sie können die Menge des Speichers, die für den gemeinsamen Pufferpool der Datenbank vorgesehen ist, einstellen, indem Sie den Parameter shared_buffers
in Ihrer PostgreSQL Konfiguration anpassen. Der empfohlene Wert sind 25 % des Gesamtspeichers der Bereitstellung. Wenn dem
gemeinsamen Pufferpool zu viel Speicher zugewiesen wird, kann dies dazu führen, dass dem System Speicher für andere Zwecke fehlt und die Leistung beeinträchtigt wird oder die Datenbank möglicherweise sogar deaktiviert wird.
Das Zuordnen größerer Speichermengen (außerhalb des gemeinsam genutzten Pufferpools) zu Ihrer Bereitstellung dient aber nach wie vor der Leistungsverbesserung. PostgreSQL füllt zum Beispiel Speicher mit zwischengespeicherten Plattenseiten für mehr Leistung. Es ist nicht notwendig, PostgreSQL direkt Speicher zuzuweisen, damit PostgreSQL ihn benutzen kann.
Verbindungslimits
Databases for PostgreSQL legt die maximale Anzahl von Verbindungen zu Ihrer PostgreSQL-Datenbank auf 115 fest. 15 Verbindungen sind für den Superuser reserviert, um den Status und die Integrität Ihrer Datenbank zu erhalten, und für Sie und Ihre Anwendungen stehen 100 Verbindungen zur Verfügung. Wenn das Verbindungslimit erreicht ist, führt jeder Versuch, eine neue Verbindung zu starten, zu einem Fehler. Um zu verhindern, dass Ihre Bereitstellung von Verbindungen überflutet wird, verwenden Sie Verbindungspooling oder skalieren Sie Ihre Bereitstellung und erhöhen Sie ihre Verbindungsbegrenzung. Weitere Informationen finden Sie auf der Seite PostgreSQL-Verbindungen verwalten.