Ile zapytań na sekundę wykonuje mój Postgres?


15

Jak mogę określić, ile zapytań na sekundę wykonuje moja baza danych Postgres?


Czy wymeldowałeś się: serverfault.com/questions/268506/…

@thtsigma Nie odpowiada na to pytanie. Zapytania o statystyki MySQL, tylko statystyki transakcji dla PG.

1
Czy wypróbowałeś już jakieś narzędzia do profilowania Postgres, takie jak pg_top ?
emallove

postgresql.org/docs/9.3/static/… np. wybierz tup_inserted z pg_stat_database
sivann

Odpowiedzi:


11

Użyj tego zapytania, aby odczytać całkowitą liczbę transakcji wykonanych we wszystkich bazach danych:

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

Jeśli chcesz mieć ten sam licznik tylko dla jednej bazy danych, użyj:

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

Aby obliczyć TPS (transakcje na sekundę), uruchom zapytanie kilka razy i oblicz różnicę w przedziale czasu.

Istnieją gotowe narzędzia do tego, jednym z nich jest http://bucardo.org/wiki/Check_postgres

Więcej informacji: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW


Aktualizacja: Konrad poprawił moje niezrozumienie swojego pytania. Celem było zliczanie zapytań, a nie transakcji.

Jak liczyć zapytania?

Metoda 1

Użyj pg_stat_statements contrib.

Metoda 2

Włącz pełne rejestrowanie zapytań w reprezentatywnym okresie.

Aby włączyć pełne logowanie, w PostgreSQL 9.0 - 9.3 zmień następujące ustawienia w postgresql.conf

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

Jeśli chcesz zobaczyć również czas zapytań, można ustawić log_min_duration_statement = 0 zamiast od log_statement = all. Jest to bardzo przydatne do dostrajania zapytań.

Następnie ponownie załaduj config (restart lub HUP) i zbierz wystarczającą ilość dziennika, aby oszacować ruch.

Uwaga: żadna metoda nie będzie zawierać zapytań osadzonych w funkcjach zdefiniowanych przez użytkownika.


Wiem, jak obliczyć transakcje na sekundę. Pytanie dotyczy konkretnie zapytań na sekundę. Jedna transakcja może mieć 0 lub więcej zapytań.
Konrad Garus,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.