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. Bei der Optimierung der Leistung Ihrer Bereitstellung sind einige Faktoren zu berücksichtigen.

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. Insbesondere werden, work_mem maintenance_work_memeffective_cache_size und auf Bereitstellung, Wiederherstellung oder Skalierung gesetzt.

Sie können die Größe des Speichers festlegen, der für den gemeinsam genutzten Pufferpool der Datenbank vorgesehen ist, indem Sie die shared_buffers in Ihrer PostgreSQL Konfiguration anpassen. Der empfohlene Wert sind 25 % des Gesamtspeichers der Bereitstellung. Wenn dem gemeinsam genutzten Pufferpool zu viel Speicher zugewiesen wird, kann dies dazu führen, dass dem System Speicher für andere Zwecke fehlt, was die Leistung beeinträchtigt oder sogar die Datenbank deaktiviert.

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.

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 unter „ Verbindungen PostgreSQL verwalten “.

Fehlerbehebung bei der Leistung

Hilfe zum Verständnis von Leistungsproblemen in PostgreSQL und deren Behebung finden Sie unter Fehlerbehebung PostgreSQL bei Leistungsproblemen.