Wie viele Abfragen pro Sekunde führt mein Postgres aus?


Antworten:


11

Verwenden Sie diese Abfrage, um die Gesamtzahl der in allen Datenbanken ausgeführten Transaktionen zu lesen :

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

Wenn Sie denselben Leistungsindikator für nur eine Datenbank möchten, verwenden Sie:

SELECT xact_commit+xact_rollback FROM pg_stat_database WHERE datname = 'mydb';

Um TPS (Transaktionen pro Sekunde) zu berechnen, führen Sie die Abfrage mehrmals aus und berechnen Sie die Differenz über das Zeitintervall.

Dafür gibt es fertige Tools, eines davon ist http://bucardo.org/wiki/Check_postgres

Weitere Informationen: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW


Update: Konrad hat mein Missverständnis seiner Frage korrigiert. Das Ziel war, Abfragen zu zählen, keine Transaktionen.

Wie werden Abfragen gezählt?

Methode 1

Verwenden Sie pg_stat_statements contrib.

Methode 2

Aktivieren Sie die vollständige Protokollierung von Abfragen für einen repräsentativen Zeitraum.

Um die vollständige Protokollierung für PostgreSQL 9.0 - 9.3 zu aktivieren, ändern Sie die folgenden Einstellungen in postgresql.conf

logging_collector = on
log_line_prefix = '%t '
log_rotation_size = 1GB
log_statement = all

Wenn Sie auch Abfrage Dauer sehen möchten, können Sie einstellen , log_min_duration_statement = 0 statt der log_statement = all. Dies ist sehr nützlich für die Abfrageoptimierung.

Laden Sie dann die Konfiguration neu (Neustart oder HUP) und sammeln Sie genügend Protokolle, um den Datenverkehr abzuschätzen.

Hinweis: Keine der Methoden enthält Abfragen, die in benutzerdefinierte Funktionen eingebettet sind.


Ich kann Transaktionen pro Sekunde berechnen. Die Frage bezieht sich speziell auf Abfragen pro Sekunde. Eine Transaktion kann 0 oder mehr Abfragen enthalten.
Konrad Garus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.