aurora_wait_report - Amazon Aurora

aurora_wait_report

이 함수는 일정 기간 동안 대기 이벤트 활동을 표시합니다.

조건

aurora_wait_report([time])

인수

시간(선택 사항)

시간(초)입니다. 기본값은 10초입니다.

반환 유형

다음 열이 있는 SETOF 레코드:

  • type_name - 대기 유형 이름

  • event_name - 대기 이벤트 이름

  • wait - 대기 횟수

  • wait_time - 대기 시간(밀리초)

  • ms_per_wait - 대기 수당 한 평균 밀리초

  • waits_per_xact - 트랜잭션 수 하나당 평균 대기

  • ms_per_wait - 트랜잭션 수당 평균 밀리초

사용 노트

이 함수는 PostgreSQL 9.6.6 이상 버전과 호환되는 Aurora PostgreSQL 릴리스 1.1부터 사용할 수 있습니다.

이 함수를 사용하려면 먼저 Aurora PostgreSQLaurora_stat_utils 확장을 다음과 같이 생성해야 합니다.

=> CREATE extension aurora_stat_utils; CREATE EXTENSION

사용할 수 있는 Aurora PostgreSQL 확장 버전에 대한 자세한 내용은 Aurora PostgreSQL 릴리스 정보보의 Amazon Aurora PostgreSQL 확장 버전을 참조하세요.

이 함수는 aurora_stat_system_waits () 함수와 pg_stat_database PostgreSQL 통계 뷰에서 얻은 통계 데이터의 두 스냅샷을 비교하여 인스턴스 수준 대기 이벤트를 계산합니다.

aurora_stat_system_waits()pg_stat_database에 대한 자세한 내용은 PostgreSQL 설명서에서 통계 수집기를 참조하세요.

실행 시 이 함수는 초기 스냅샷을 찍고 지정된 시간(초)을 기다린 다음 두 번째 스냅샷을 찍습니다. 이 함수는 두 스냅샷을 비교하고 차이를 반환합니다. 이 차이는 해당 시간 간격의 인스턴스 활동을 나타냅니다.

라이터 인스턴스에서 함수는 커밋된 트랜잭션 수와 TPS(초당 트랜잭션 수)도 표시합니다. 이 함수는 인스턴스 수준에서 정보를 반환하며 인스턴스의 모든 데이터베이스를 포함합니다.

예시

이 예제에서는 aurora_log_report 함수를 사용할 수 있도록 aurora_stat_utils 확장을 만드는 방법을 보여줍니다.

=> CREATE extension aurora_stat_utils; CREATE EXTENSION

이 예에서는 10초에 대한 대기 보고서를 확인하는 방법을 보여 줍니다.

=> SELECT * FROM aurora_wait_report(); NOTICE: committed 34 transactions in 10 seconds (tps 3) type_name | event_name | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact -----------+-------------------+-------+-----------+-------------+----------------+------------- Client | ClientRead | 26 | 30003.00 | 1153.961 | 0.76 | 882.441 Activity | WalWriterMain | 50 | 10051.32 | 201.026 | 1.47 | 295.627 Timeout | PgSleep | 1 | 10049.52 | 10049.516 | 0.03 | 295.574 Activity | BgWriterHibernate | 1 | 10048.15 | 10048.153 | 0.03 | 295.534 Activity | AutoVacuumMain | 18 | 9941.66 | 552.314 | 0.53 | 292.402 Activity | BgWriterMain | 1 | 201.09 | 201.085 | 0.03 | 5.914 IO | XactSync | 15 | 25.34 | 1.690 | 0.44 | 0.745 IO | RelationMapRead | 12 | 0.54 | 0.045 | 0.35 | 0.016 IO | WALWrite | 84 | 0.21 | 0.002 | 2.47 | 0.006 IO | DataFileExtend | 1 | 0.02 | 0.018 | 0.03 | 0.001

이 예에서는 60초에 대한 대기 보고서를 확인하는 방법을 보여 줍니다.

=> SELECT * FROM aurora_wait_report(60); NOTICE: committed 1544 transactions in 60 seconds (tps 25) type_name | event_name | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact -----------+------------------------+---------+-----------+-------------+----------------+------------- Lock | transactionid | 6422 | 477000.53 | 74.276 | 4.16 | 308.938 Client | ClientRead | 8265 | 270752.99 | 32.759 | 5.35 | 175.358 Activity | CheckpointerMain | 1 | 60100.25 | 60100.246 | 0.00 | 38.925 Timeout | PgSleep | 1 | 60098.49 | 60098.493 | 0.00 | 38.924 Activity | WalWriterMain | 296 | 60010.99 | 202.740 | 0.19 | 38.867 Activity | AutoVacuumMain | 107 | 59827.84 | 559.139 | 0.07 | 38.749 Activity | BgWriterMain | 290 | 58821.83 | 202.834 | 0.19 | 38.097 IO | XactSync | 1295 | 55220.13 | 42.641 | 0.84 | 35.764 IO | WALWrite | 6602259 | 47810.94 | 0.007 | 4276.07 | 30.966 Lock | tuple | 473 | 29880.67 | 63.173 | 0.31 | 19.353 LWLock | buffer_mapping | 142 | 3540.13 | 24.930 | 0.09 | 2.293 Activity | BgWriterHibernate | 290 | 1124.15 | 3.876 | 0.19 | 0.728 IO | BufFileRead | 7615 | 618.45 | 0.081 | 4.93 | 0.401 LWLock | buffer_content | 73 | 345.93 | 4.739 | 0.05 | 0.224 LWLock | lock_manager | 62 | 191.44 | 3.088 | 0.04 | 0.124 IO | RelationMapRead | 72 | 5.16 | 0.072 | 0.05 | 0.003 LWLock | ProcArrayLock | 1 | 2.01 | 2.008 | 0.00 | 0.001 IO | ControlFileWriteUpdate | 2 | 0.03 | 0.013 | 0.00 | 0.000 IO | DataFileExtend | 1 | 0.02 | 0.018 | 0.00 | 0.000 IO | ControlFileSyncUpdate | 1 | 0.00 | 0.000 | 0.00 | 0.000