本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 RDS for MySQL 的全域狀態歷史記錄
提示
若要分析資料庫效能,您也可以使用 Amazon RDS 上的 Performance Insights。如需更多詳細資訊,請參閱 在 Amazon RDS 上使用績效詳情監控資料庫負載。
MySQL 會維護許多提供其操作相關資訊的狀態變數。此值可協助您偵測資料庫執行個體上的鎖定或記憶體問題。這些狀態變數的值是從上次啟動資料庫執行個體以來累積的。您可以使用 FLUSH STATUS 命令,將大部分狀態變數重設為 0。
為了允許在一段时間內監控這些值,Amazon RDS 提供一組程序,將在一段時間內快照這些狀態變數的值,並將它們以及自從上次快照後的任何變更寫入至資料表。此基礎設施 (稱為全域狀態歷史記錄 (GoSH)) 安裝在所有從版本 5.5.23 開始的 MySQL 資料庫執行個體。GoSH 預設為停用。
若要啟用 GoSH,首先從資料庫參數群組啟用事件排程器,方法是將參數 event_scheduler 設為 ON。對於執行 MySQL 5.7 的 MySQL 資料庫執行個體,同樣將參數 show_compatibility_56 設為 1。如需建立和修改資料庫參數群組的詳細資訊,請參閱Amazon RDS 的參數群組。如需啟用此參數的副作用相關資訊,請參閱《MySQL 5.7 參考手冊》中的 show_compatibility_56
然後,您可以使用下表中的程序,來啟用和設定 GoSH。首先連接到您的 MySQL 資料庫執行個體,然後發出適當的命令,如下所示。如需更多詳細資訊,請參閱 連線至您的 MySQL 資料庫執行個體。針對每個程序,執行下列命令並取代 procedure-name:
CALLprocedure-name;
下表列出您可以在上一個命令中用於 procedure-name 的所有程序。
| 程序 | 描述 |
|---|---|
|
啟用 GoSH 來依據 |
|
指定快照之間的間隔 (以分鐘為單位)。預設值為 5。 |
|
停用快照。 |
|
隨需建立快照。 |
|
啟用依 |
|
指定資料表輪換之間的間隔 (以天為單位)。預設值為 7。 |
|
停用資料表輪換。 |
|
隨需將 |
當 GoSH 執行中時,您可以查詢寫入它的資料表。例如,若要查詢 Innodb 緩衝集區的命中率,您將發出下列查詢:
select a.collection_end, a.collection_start, (( a.variable_Delta-b.variable_delta)/a.variable_delta)*100 as "HitRatio" from mysql.rds_global_status_history as a join mysql.rds_global_status_history as b on a.collection_end = b.collection_end where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads'