| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 롤 토토 : 문서 : 9.3 : pgrowlocks | PostgreSQL : 문서 : 9.3 : 추가 제공 배트맨 토토 | 부록 F. 추가 제공 모듈 | 토토 사이트 : 문서 : 9.3 : pgstattuple | |
그토토 커뮤니티모듈은 다음을 제공합니다 모든 SQL 문의 실행 통계를 추적하는 수단 서버에 의해 실행됩니다.
모듈을 추가하여 로드해야 합니다.토토 커뮤니티에shared_preload_librariesinpostgresql.conf, 필요하기 때문에 추가 공유 메모리. 이는 서버를 다시 시작한다는 의미입니다. 모듈을 추가하거나 제거하는 데 필요합니다.
모듈에 의해 수집된 통계는 다음을 통해 사용할 수 있습니다. 이름이 지정된 시스템 뷰토토 커뮤니티. 이 보기에는 각 개별 쿼리, 데이터베이스 ID, 및 사용자 ID(최대 고유 문 수까지) 모듈은 추적할 수 있습니다). 뷰의 열은 다음과 같습니다.테이블 F-22.
표 F-22.토토 커뮤니티열
| 이름 | 유형 | 참고자료 | 설명 |
|---|---|---|---|
| 사용자 ID | oid | pg_authid.oid | 문을 실행한 사용자의 OID |
| dbid | oid | pg_database.oid | 명령문이 실행된 데이터베이스의 OID |
| 질의 | 텍스트 | 대표 성명 텍스트(최대track_activity_query_size바이트) | |
| 호출 | 비긴트 | 실행 횟수 | |
| total_time | 배정밀도 | 문장에서 소요된 총 시간(밀리초) | |
| 행 | 비긴트 | 검색되거나 영향을 받은 총 행 수 진술 | |
| shared_blks_hit | bigint | 문에 의한 공유 블록 캐시 적중의 총 수 | |
| shared_blks_read | 비긴트 | 문이 읽은 공유 블록의 총 수 | |
| shared_blks_dirtied | 비긴트 | 문에 의해 더러워진 공유 블록의 총 수 | |
| shared_blks_write | bigint | 문에 의해 작성된 공유 블록의 총 수 | |
| local_blks_hit | 비긴트 | 문에 의한 로컬 블록 캐시 적중의 총 수 | |
| local_blks_read | 비긴트 | 문이 읽은 로컬 블록의 총 수 | |
| local_blks_dirtied | 비긴트 | 문에 의해 더러워진 로컬 블록의 총 수 | |
| local_blks_write | 비긴트 | 문에 의해 작성된 총 로컬 블록 수 | |
| temp_blks_read | 비긴트 | 문이 읽은 임시 블록의 총 개수 | |
| temp_blks_write | 비긴트 | 문에 의해 작성된 총 임시 블록 수 | |
| blk_read_time | 배정밀도 | 문이 블록을 읽는 데 소요된 총 시간(밀리초) (iftrack_io_timing활성화됨, 그렇지 않으면 0) | |
| blk_write_time | 배정밀도 | 문이 블록을 쓰는 데 소요된 총 시간(밀리초) (iftrack_io_timing활성화됨, 그렇지 않으면 0) |
이 보기 및 기능토토 커뮤니티_reset, 다음에서만 사용할 수 있습니다.
설치를 통해 특별히 설치된 데이터베이스토토 커뮤니티확장. 그러나,
통계는 언제든지 서버의 모든 데이터베이스에서 추적됩니다.토토 커뮤니티모듈이 로드되었습니다
뷰의 존재 여부에 관계없이 서버에 들어갑니다.
보안상의 이유로 슈퍼유저가 아닌 사용자는 다음을 볼 수 없습니다. 다른 사용자가 실행한 쿼리 텍스트입니다. 그들은 볼 수 있습니다 그러나 통계에 보기가 설치된 경우에는 데이터베이스.
계획 가능한 쿼리(즉,선택, 삽입, 업데이트, 그리고삭제)는 하나로 결합됩니다.토토 커뮤니티언제든지 항목을 입력하세요. 내부 해시에 따라 동일한 쿼리 구조를 가짐 계산. 일반적으로 두 쿼리는 동일한 것으로 간주됩니다. 다음을 제외하고 의미상 동일한 경우 이 목적을 수행합니다. 쿼리에 나타나는 리터럴 상수 값. 유틸리티 명령(즉, 다른 모든 명령)은 엄격하게 비교됩니다. 그러나 텍스트 쿼리 문자열을 기반으로 합니다.
상수의 값이 목적상 무시되었을 때 쿼리를 다른 쿼리와 일치시키면 상수는 다음으로 대체됩니다.?에서토토 커뮤니티디스플레이. 쿼리의 나머지 부분 텍스트는 특정 해시 값을 가진 첫 번째 쿼리의 텍스트입니다. 와 연관됨토토 커뮤니티항목.
어떤 경우에는 눈에 띄게 다른 텍스트가 포함된 쿼리가 단일로 병합됨토토 커뮤니티항목. 일반적으로 이는 의미상 동등한 경우에만 발생합니다. 쿼리를 수행하지만 해시 충돌로 인해 발생할 가능성이 적습니다. 관련 없는 쿼리를 하나의 항목으로 병합합니다. (이런 일은 일어날 수 없어 다른 사용자나 데이터베이스에 속하는 쿼리의 경우 그러나.)
해시 값은 분석 후 분석에서 계산되므로 쿼리를 표현하는 경우 그 반대도 가능합니다. 동일한 텍스트가 포함된 쿼리는 다음과 같은 경우 별도의 항목으로 나타날 수 있습니다. 그들은 다음과 같은 요인의 결과로 다른 의미를 갖습니다. 다르다검색_경로설정.
토토 커뮤니티_reset()이 반환됩니다.
무효토토 커뮤니티_reset삭제
지금까지 수집된 모든 통계는 다음과 같습니다.토토 커뮤니티. 기본적으로 이 기능은 다음을 수행할 수 있습니다.
슈퍼유저에 의해서만 실행됩니다.
토토 커뮤니티.max최대값입니다 모듈이 추적하는 명령문 수(즉, 최대 의 행 수토토 커뮤니티보기). 좀 더 뚜렷하다면 관찰된 것보다 진술, 정보에 대한 정보 가장 적게 실행된 명령문은 폐기됩니다. 기본값은 1000입니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.
토토 커뮤니티.track어느 것을 제어합니다. 명령문은 모듈에 의해 계산됩니다. 지정하다맨 위로최상위 명세서(발행된 명세서)를 추적하기 위해 고객이 직접),전체추적도 가능 중첩된 문(예: 함수 내에서 호출된 문) 또는없음문 통계를 비활성화하려면 컬렉션입니다. 기본값은맨 위로. 만 슈퍼유저는 이 설정을 변경할 수 있습니다.
토토 커뮤니티.track_utility모듈이 유틸리티 명령을 추적하는지 여부를 제어합니다. 유틸리티 명령은 다음을 제외한 모든 명령입니다.선택, 삽입, 업데이트그리고삭제. 는 기본값은켜짐. 슈퍼유저만 가능 이 설정을 변경하세요.
토토 커뮤니티.save지정 서버 종료 시 명령문 통계를 저장할지 여부. 그렇다면 이다꺼짐그러면 통계는 다음 위치에 저장되지 않습니다. 서버 시작 시 종료되거나 다시 로드되지 않습니다. 기본값은켜짐. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.
모듈에는 약 상당의 추가 공유 메모리가 필요합니다.토토 커뮤니티.max * track_activity_query_size바이트. 이 메모리는 모듈이 실행될 때마다 소비됩니다. 로드된 경우에도 마찬가지입니다.토토 커뮤니티.track다음으로 설정됨없음.
이 매개변수는 다음에서 설정되어야 합니다.postgresql.conf. 일반적인 사용법은 다음과 같습니다:
# postgresql.conf shared_preload_libraries = '토토 커뮤니티' 토토 커뮤니티.max = 10000 토토 커뮤니티.track = 모두
bench=# SELECT 토토 커뮤니티_reset();
$ pgbench -i 벤치
$ pgbench -c10 -t300 벤치
벤치=# \x
벤치=# SELECT 쿼리, 호출, total_time, 행, 100.0 * shared_blks_hit /
nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
FROM 토토 커뮤니티 ORDER BY total_time DESC LIMIT 5;
-[ 기록 1 ]---------------------------------------------------------
쿼리 | 업데이트 pgbench_branches SET bbalance = bbalance + ? 입찰 = ?;
전화 | 3000
총_시간 | 9609.00100000002
행 | 2836
히트_퍼센트 | 99.9778970000200936
-[ 기록 2 ]---------------------------------------------------------
쿼리 | 업데이트 pgbench_tellers SET tbalance = tbalance + ? tid = ?;
전화 | 3000
총_시간 | 8015.156
행 | 2990
히트_퍼센트 | 99.9731126579631345
-[ 기록 3 ]---------------------------------------------------------
쿼리 | stdin에서 pgbench_accounts 복사
전화 | 1
총_시간 | 310.624
행 | 100000
히트_퍼센트 | 0.30395136778115501520
-[ 기록 4 ]---------------------------------------------------------
쿼리 | 업데이트 pgbench_accounts SET abalance = abalance + ? 원조 = ?;
전화 | 3000
총_시간 | 271.741999999997
행 | 3000
히트_퍼센트 | 93.7968855088209426
-[ 기록 5 ]---------------------------------------------------------
쿼리 | 테이블 변경 pgbench_accounts 기본 키 추가(지원)
전화 | 1
총_시간 | 81.42
행 | 0
히트_퍼센트 | 34.4947735191637631이타가키 타카히로<itagaki.takahiro@oss.ntt.co.jp.
Peter Geoghegan이 추가한 쿼리 정규화<peter@2ndquadrant.com.
| 롤 토토 : 문서 : 9.3 : pgrowlocks | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| pgrowlocks | PostgreSQL : 문서 : 9.3 : 추가 제공 배트맨 토토 | pgstattuple |