¿Cuántas consultas por segundo está ejecutando mi Postgres?


15

¿Cómo puedo saber cuántas consultas por segundo se está ejecutando mi base de datos Postgres?



@thtsigma no responde a esta pregunta. Consulta estadísticas para MySQL, solo estadísticas de transacciones para PG.

1
¿Has probado alguna herramienta de creación de perfiles de Postgres, como pg_top ?
emallove

postgresql.org/docs/9.3/static/… por ejemplo, seleccione tup_inserted de pg_stat_database
sivann

Respuestas:


11

Use esta consulta para leer el número total de transacciones ejecutadas en todas las bases de datos:

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

Si desea el mismo contador para una sola base de datos, use:

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

Para calcular TPS (transacciones por segundo), ejecute la consulta varias veces y calcule la diferencia en el intervalo de tiempo.

Hay herramientas listas para eso, una de ellas es http://bucardo.org/wiki/Check_postgres

Más información: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW


Actualización: Konrad corrigió mi malentendido de su pregunta. El objetivo era contar consultas, no transacciones.

¿Cómo contar las consultas?

Método 1

Utilice pg_stat_statements contrib.

Método 2

Habilite el registro completo de consultas durante un período de tiempo representativo.

Para habilitar el registro completo, para PostgreSQL 9.0 - 9.3, cambie la siguiente configuración en postgresql.conf

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

Si desea ver también la duración de la consulta, puede establecerla en log_min_duration_statement = 0 lugar de log_statement = all. Esto es muy útil para el ajuste de consultas.

Luego, vuelva a cargar la configuración (reinicio o HUP) y recopile suficiente registro para estimar el tráfico.

Nota: ninguno de los métodos incluirá consultas integradas en funciones definidas por el usuario.


Sé cómo calcular transacciones por segundo. La pregunta es sobre consultas por segundo específicamente. Una transacción puede tener 0 o más consultas.
Konrad Garus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.