本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理適用於 My RDS 的 全域狀態歷史記錄SQL
提示
若要分析資料庫效能,您也可以在 Amazon 上使用績效詳情RDS。如需詳細資訊,請參閱在 Amazon RDS 上使用績效詳情監控資料庫負載。
我的SQL 會維護許多狀態變數,提供其操作的相關資訊。此值可協助您偵測資料庫執行個體上的鎖定或記憶體問題。這些狀態變數的值是從上次啟動資料庫執行個體以來累積的。您可以使用 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 的參數群組。如需啟用此參數之副作用的相關資訊,請參閱 My 5.7 參考手冊中的 show_compatibility_56
然後,您可以使用下表中的程序,來啟用和設定 GoSH。首先連接至您的 MySQL 資料庫執行個體,然後發出適當的命令,如下所示。如需詳細資訊,請參閱連線至 MySQL 資料庫執行個體。針對每個程序,執行下列命令並取代 procedure-name
:
CALL
procedure-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'