Quante query al secondo sta eseguendo il mio Postgres?


15

Come posso sapere quante query al secondo il mio database Postgres sta eseguendo?



@thtsigma Non risponde a questa domanda. Interroga le statistiche per MySQL, solo le statistiche delle transazioni per PG.

1
Hai provato qualche strumento di profilazione di Postgres, come pg_top ?
emallove,

postgresql.org/docs/9.3/static/… ad es. selezionare tup_inserted da pg_stat_database
sivann

Risposte:


11

Utilizzare questa query per leggere il numero totale di transazioni eseguite in tutti i database:

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

Se si desidera lo stesso contatore per un solo database, utilizzare:

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

Per calcolare il TPS (transazioni al secondo), eseguire la query più volte e calcolare la differenza nell'intervallo di tempo.

Ci sono strumenti già pronti per questo, uno di questi è http://bucardo.org/wiki/Check_postgres

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


Aggiornamento: Konrad ha corretto il mio malinteso sulla sua domanda. L'obiettivo era contare le query, non le transazioni.

Come contare le query?

Metodo 1

Usa pg_stat_statements contrib.

Metodo 2

Abilita la registrazione completa delle query per un periodo di tempo rappresentativo.

Per abilitare la registrazione completa, per PostgreSQL 9.0 - 9.3, modificare le seguenti impostazioni in postgresql.conf

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

Se si desidera visualizzare anche la durata della query, è possibile impostare log_min_duration_statement = 0 invece di log_statement = all. Questo è molto utile per l'ottimizzazione delle query.

Quindi ricaricare la configurazione (riavvio o HUP) e raccogliere log sufficienti per stimare il traffico.

Nota: nessuno dei due metodi includerà query incorporate nelle funzioni definite dall'utente.


So come calcolare le transazioni al secondo. La domanda riguarda in particolare le query al secondo. Una transazione può avere 0 o più query.
Konrad Garus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.