Postgres는 초당 몇 개의 쿼리를 실행합니까?


15

Postgres 데이터베이스에서 초당 몇 개의 쿼리가 실행되고 있는지 어떻게 알 수 있습니까?



@thtsigma이 질문에 대답하지 않습니다. MySQL에 대한 통계를 쿼리하고 PG에 대한 트랜잭션 통계 만 쿼리합니다.

1
pg_top 과 같은 Postgres 프로파일 링 도구를 사용해 보셨습니까 ?
emallove

postgresql.org/docs/9.3/static/… 예 : pg_stat_database에서 tup_inserted를 선택하십시오
sivann

답변:


11

이 쿼리를 사용 하여 모든 데이터베이스에서 실행 된 총 트랜잭션 수를 읽으십시오 .

SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;

하나의 데이터베이스에 대해 동일한 카운터를 원하면 다음을 사용하십시오.

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

TPS (초당 트랜잭션 수)를 계산하려면 쿼리를 여러 번 실행하고 시간 간격에 따른 차이를 계산하십시오.

이를위한 준비된 도구가 있으며 그중 하나는 http://bucardo.org/wiki/Check_postgres

추가 정보 : http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW


업데이트 : Konrad는 그의 질문에 대한 나의 오해를 수정했습니다. 목표는 트랜잭션이 아니라 쿼리를 계산하는 것이 었습니다.

검색어를 계산하는 방법?

방법 1

pg_stat_statements contrib를 사용하십시오 .

방법 2

특정 기간 동안 쿼리를 전체 로깅 할 수 있습니다.

전체 로깅을 활성화하려면 PostgreSQL 9.0-9.3에서 다음 설정을 변경하십시오. postgresql.conf

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

당신은 또한 쿼리 시간을보고 싶다면, 당신은 설정할 수 있습니다 log_min_duration_statement = 0 대신log_statement = all. 이것은 쿼리 조정에 매우 유용합니다.

그런 다음 구성을 다시로드하고 (다시 시작 또는 HUP) 트래픽을 추정하기에 충분한 로그를 수집하십시오.

참고 : 두 방법 모두 사용자 정의 함수에 포함 된 쿼리를 포함하지 않습니다.


초당 트랜잭션을 계산하는 방법을 알고 있습니다. 질문은 초당 쿼리 수에 관한 것입니다. 하나의 트랜잭션은 0 개 이상의 쿼리를 가질 수 있습니다.
Konrad Garus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.