RDS PostgreSQL에 대한 SQL 통계
SQL 호출이 발생할 때마다, 그리고 쿼리가 실행되는 매초마다 성능 개선 도우미에서 SQL 통계를 수집합니다. 다른 Amazon RDS 엔진의 경우 통계는 명령문 수준 및 다이제스트 수준에서 수집됩니다. 그러나 RDS for PostgreSQL의 경우 성능 개선 도우미가 다이제스트 수준에서만 SQL 통계를 수집합니다.
SQL 다이제스트는 지정된 패턴을 갖지만, 리터럴 값은 서로 다를 수 있는 모든 쿼리의 합성입니다. 다이제스트는 리터럴 값을 물음표로 바꿉니다. SELECT * FROM emp WHERE lname= ?
는 다이제스트의 예입니다. 이 다이제스트에는 다음 하위 쿼리가 구성될 수 있습니다.
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
다음에서 RDS for PostgreSQL 다이제스트 수준 통계에 대한 정보를 찾을 수 있습니다.
RDS PostgreSQL에 대한 다이제스트 통계
SQL 다이제스트 통계를 보려면 RDS PostgreSQL은 pg_stat_statements
라이브러리를 로드해야 합니다. PostgreSQL 11 이상과 호환되는 PostgreSQL DB 인스턴스의 경우 데이터베이스가 이 라이브러리를 기본값으로 로드합니다. PostgreSQL 10 이하와 호환되는 PostgreSQL DB 인스턴스의 경우 이 라이브러리를 수동으로 활성화합니다. 이 라이브러리를 수동으로 활성화하려면 DB 인스턴스와 연결된 DB 파라미터 그룹의 pg_stat_statements
에 shared_preload_libraries
를 추가하세요. 그런 다음 DB 인스턴스를 재부팅합니다. 자세한 내용은 파라미터 그룹 작업 섹션을 참조하세요.
Performance Insights는 pg_stat_activity
에서 잘리지 않은 쿼리에 대한 통계만 수집할 수 있습니다. 기본적으로 PostgreSQL 데이터베이스는 1,024바이트보다 긴 쿼리를 자릅니다. 쿼리 크기를 늘리려면 DB 인스턴스와 연결된 DB 파라미터 그룹에서 track_activity_query_size
파라미터를 변경합니다. 이 파라미터를 변경하면 DB 인스턴스를 재부팅해야 합니다.
RDS PostgreSQL에 대한 초당 다이제스트 통계
다음 SQL 다이제스트 통계는 PostgreSQL DB 인스턴스에 제공됩니다.
측정치 | Unit |
---|---|
db.sql_tokenized.stats.calls_per_sec | 초당 호출 수 |
db.sql_tokenized.stats.rows_per_sec | 초당 행 |
db.sql_tokenized.stats.total_time_per_sec | 초당 평균 활성 실행(AAE) |
db.sql_tokenized.stats.shared_blks_hit_per_sec | 초당 블록 히트 수 |
db.sql_tokenized.stats.shared_blks_read_per_sec | 초당 블록 읽기 수 |
db.sql_tokenized.stats.shared_blks_dirtied_per_sec | 초당 더티 블록 수 |
db.sql_tokenized.stats.shared_blks_written_per_sec | 초당 블록 쓰기 수 |
db.sql_tokenized.stats.local_blks_hit_per_sec | 초당 로컬 블록 히트 수 |
db.sql_tokenized.stats.local_blks_read_per_sec | 초당 로컬 블록 읽기 수 |
db.sql_tokenized.stats.local_blks_dirtied_per_sec | 초당 로컬 블록 더티 수 |
db.sql_tokenized.stats.local_blks_written_per_sec | 초당 로컬 블록 쓰기 수 |
db.sql_tokenized.stats.temp_blks_written_per_sec | 초당 임시 쓰기 수 |
db.sql_tokenized.stats.temp_blks_read_per_sec | 초당 임시 읽기 수 |
db.sql_tokenized.stats.blk_read_time_per_sec | 초당 평균 동시 읽기 수 |
db.sql_tokenized.stats.blk_write_time_per_sec | 초당 평균 동시 쓰기 수 |
RDS PostgreSQL에 대한 호출당 다이제스트 통계
다음 지표에서는 SQL 문의 호출당 통계를 제공합니다.
측정치 | Unit |
---|---|
db.sql_tokenized.stats.rows_per_call | 호출당 행 수 |
db.sql_tokenized.stats.avg_latency_per_call | 호출당 평균 지연 시간(단위: ms) |
db.sql_tokenized.stats.shared_blks_hit_per_call | 호출당 블록 히트 수 |
db.sql_tokenized.stats.shared_blks_read_per_call | 호출당 블록 읽기 수 |
db.sql_tokenized.stats.shared_blks_written_per_call | 호출당 블록 쓰기 수 |
db.sql_tokenized.stats.shared_blks_dirtied_per_call | 통화 당 더티 블록 수 |
db.sql_tokenized.stats.local_blks_hit_per_call | 호출당 로컬 블록 히트 수 |
db.sql_tokenized.stats.local_blks_read_per_call | 호출당 로컬 블록 읽기 수 |
db.sql_tokenized.stats.local_blks_dirtied_per_call | 호출당 로컬 블록 더티 수 |
db.sql_tokenized.stats.local_blks_written_per_call | 호출당 로컬 블록 쓰기 수 |
db.sql_tokenized.stats.temp_blks_written_per_call | 호출당 임시 블록 쓰기 수 |
db.sql_tokenized.stats.temp_blks_read_per_call | 호출당 임시 블록 읽기 수 |
db.sql_tokenized.stats.blk_read_time_per_call | 호출당 읽기 시간(단위: ms) |
db.sql_tokenized.stats.blk_write_time_per_call | 호출당 쓰기 시간(단위: ms) |
이러한 지표에 대한 자세한 내용은 PostgreSQL 설명서의 pg_stat_statements