PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Neueste PostgreSQL-Trends:Die zeitaufwändigsten Aufgaben und wichtige zu verfolgende Metriken

PostgreSQL, die viertbeliebteste Datenbank und das DBMS des Jahres 2017, ist in der Popularität unter den Entwicklungs- und Datenbankgemeinschaften auf der ganzen Welt explodiert. PostgreSQL-Hosting stiehlt den Marktführern Oracle, MySQL und Microsoft SQL Server Marktanteile und wird auch von neuen Unternehmen in spannenden Bereichen wie IoT, E-Commerce, SaaS, Analytik und mehr stark genutzt.

Also, was sind die Trends in der PostgreSQL-Verwaltung?

Wir haben letzten Monat an PostgresOpen in San Francisco teilgenommen, um die neuesten Trends von den Experten selbst aufzudecken.

Zeitintensivste PostgreSQL-Verwaltungsaufgaben

Also, was frisst Ihre Zeit an der PostgreSQL-Verwaltungsfront? Während Tausende von Aufgaben mit der Verwaltung Ihrer PostgreSQL-Produktionsbereitstellungen verbunden sind, war die Verwaltung von Abfragen mit über 30 % der Befragten der starke Spitzenreiter.

Speicherplatzverwaltung lag mit Abstand an zweiter Stelle, wobei 15 % der PostgreSQL-Benutzer dies als ihre schwierigste Aufgabe empfanden, gefolgt von Replikation, Upgrades und Überwachung. 23 % der PostgreSQL-Benutzer fielen in die Kategorie „Alle anderen“, die aus Aufgaben wie Patchen, Wiederherstellen, Partitionieren und Migrationen besteht.

Aufschlüsselung der Verwaltung von PostgreSQL-Abfragen

Mit weitem Vorsprung bei der Verwaltung von PostgreSQL-Abfragen sind wir tiefer eingestiegen, um zu sehen, welche spezifischen Aufgaben ihre Zeit in Anspruch nehmen. Die Ergebnisse verteilen sich auf den gesamten Prozess der Abfrageverwaltung, von der Strukturierung bei der Einrichtung bis zur Optimierung nach der Analyse.

Um dies näher zu erläutern, beginnen wir am Anfang des Abfrageverwaltungsprozesses:

Anfragestruktur

Das kleinste Segment, die Verwaltung von Abfragestrukturen, machte 22 % der Antworten von PostgreSQL-Benutzern aus, die Abfragen als ihre zeitaufwändigste Verwaltungsaufgabe ausgewählt haben.

Bevor Sie beginnen, müssen Sie einen PostgreSQL-Abfrageplan um Ihre Cluster herum erstellen, um Ihre Abfragestruktur mit Ihren Dateneigenschaften abzugleichen. Diese bestehen aus Knoten, die von Scan-Knoten auf der untersten Ebene für Rohzeilentabellenrückgaben bis hin zu Nicht-Tabellenzeilen wie Werten reichen.

Langsame Abfrageanalyse

Nachdem Sie Ihre Struktur erstellt haben, besteht der nächste Schritt darin, Ihre Abfragen zu analysieren, um langsam ausgeführte Abfragen zu identifizieren, die die Leistung Ihrer Anwendung beeinträchtigen können. Standardmäßig sind „langsame Abfragen“ als Abfragen definiert, die länger als 100 ms dauern.

Suchanfragen optimieren

Jetzt, da Sie Ihre langsamen Abfragen identifiziert haben, beginnt die eigentliche Arbeit – die Optimierung Ihrer PostgreSQL-Abfragen. Die Postgres-Leistungsoptimierung kann eine grausame Aufgabe sein, aber mit der richtigen Identifizierung und Analyse können Sie die Engpässe genauer untersuchen und die erforderlichen Abfrageänderungen vornehmen und bei Bedarf Indizes hinzufügen, um Ihre Ausführung zu verbessern. Hier ist ein großartiger Artikel über Abfragen zur Leistungsoptimierung in PostgreSQL.

Neueste PostgreSQL-Trends:Die zeitaufwändigsten Aufgaben und wichtige Metriken zum NachverfolgenClick To Tweet

Wichtigste Metriken zum Nachverfolgen der PostgreSQL-Leistung

Nun, da wir die zeitaufwändigste PostgreSQL-Verwaltungsaufgabe identifiziert haben, werfen wir einen tieferen Blick auf die wichtigen Metriken, die PostgreSQL-Benutzer verfolgen, um ihre Leistung zu optimieren.

Die wichtigsten Ergebnisse der PostgreSQL-Metriken waren deutlich gleichmäßiger als die Verwaltungsaufgaben, was zu einem vierfachen Gleichstand zwischen Replikationsstatistiken, CPU- und RAM-Auslastung und Transaktionen pro Sekunde (TPS) führte. , und langsame Abfragen:

Replikationsstatistiken

Die Überwachung Ihres PostgreSQL-Replikationsstatus ist eine entscheidende Aufgabe, um sicherzustellen, dass Ihre Replikationen ordnungsgemäß ausgeführt werden und Ihre Produktionsbereitstellungen hochverfügbar bleiben. Der Replikationsprozess sollte so angepasst werden, dass er Ihren Anwendungsanforderungen am besten entspricht, und die kontinuierliche Endpunktüberwachung ist der beste Weg, um sicherzustellen, dass Ihre Daten sicher und bereit für die Wiederherstellung sind.

Es ist wichtig, Metriken sowohl auf Ihren Standby-Servern als auch auf Primärservern zu verfolgen. Ihre Standby-Server sollten auf eingehende Replikation und den Wiederherstellungsstatus überwacht werden, und Ihre primären Server sollten auf ausgehende Replikation und Replikationsslots überwacht werden. Wenn Sie die PostgreSQL-Streaming-Replikation verwenden, sind Replikationsslots nicht immer erforderlich. Die Streaming-Replikation stellt die sofortige Datenverfügbarkeit auf Ihren Standby-Servern sicher und ist ideal für Low-TPS-Server.

CPU- und RAM-Auslastung

Das Verfolgen Ihrer CPU- und RAM-Nutzung (Arbeitsspeicher) sind entscheidende Metriken, die Sie überwachen müssen, um den Zustand Ihrer PostgreSQL-Server sicherzustellen. Wenn Ihre CPU-Auslastung zu hoch ist, wird Ihre Anwendung langsamer, was Ihre Benutzer leiden lässt. Dies ist oft das Ergebnis schlecht optimierter Abfragen oder sogar hoher Abfrageparallelitäten. Die Überwachung des Arbeitsspeichers ist sehr wichtig, um sicherzustellen, dass Sie über genügend Speicherplatz verfügen, und um genau zu verstehen, wofür Ihr Arbeitsspeicher verwendet wird. Es wird empfohlen, etwa 25 % Ihres Arbeitsspeichers für shared_buffers zuzuweisen. PostgreSQL stellt außerdem standardmäßig eine Arbeitsspeicherpuffergröße von 4 MB ein, was oft zu wenig ist und zu hohen Ausführungszeiten führt.

Transaktionen pro Sekunde

Durch die Überwachung der Anzahl der Transaktionen pro Sekunde können Sie die Auslastung des Systems und den aktuellen Durchsatz ermitteln. Durch die Analyse dieser Metrik kann entschieden werden, das System entsprechend zu skalieren, um den gewünschten Durchsatz zu erreichen. Sie können auch feststellen, wie sich eine Änderung der Konfigurationseinstellungen oder Systemressourcen auf den Durchsatz auswirkt.

Langsame Abfragen

Ineffiziente Abfragen können die Leistung von PostgreSQL verlangsamen, selbst wenn das System mit ausreichenden Ressourcen konfiguriert ist. Es ist immer empfehlenswert, diese ineffizienten Abfragen zu analysieren und zu beheben. PostgreSQL stellt einen Parameter namens log_min_duration_statement bereit . Wenn dies gesetzt ist, wird die Dauer jeder abgeschlossenen Anweisung protokolliert, wenn die Anweisung mindestens die angegebene Anzahl von Millisekunden lang ausgeführt wurde. Sobald die langsamen Abfragen abgerufen wurden, können Sie EXPLAIN ANALYZE ausführen, um den Ausführungsplan zu verstehen. Dadurch können Sie das Problem nachverfolgen und die Abfrage entsprechend optimieren. Daher wird eine regelmäßige Überwachung der langsamen Abfragen die Langsamkeit der Leistung vermeiden.

Sie finden uns nächste Woche auf der PostgresConf im Silicon Valley 2018, wo wir hoffen, weitere Einblicke in die Trends im PostgreSQL-Verwaltungsbereich zu erhalten. Wenn Sie Fragen oder Kommentare haben, können Sie diese gerne hier in unseren Kommentaren oder auf Twitter unter @scalegridio mit uns teilen.