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_xact – 交易次數的平均毫秒數

使用須知

此函數從 Aurora PostgreSQL 1.1 版開始使用,並與 PostgreSQL 9.6.6 和更高版本相容。

如要使用此函數,你需要先建立 Aurora PostgreSQL aurora_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_stat_utils 擴充功能,以使用 use aurora_log_report 函數。

=> 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