全部產品
Search
文件中心

ApsaraDB RDS:慢日誌分析

更新時間:Jul 27, 2024

慢日誌問題極大地影響資料庫的穩定性,當資料庫出現負載高、效能抖動等問題時,資料庫管理員或開發首先會查看是否有慢日誌在執行。資料庫自治服務DAS(Database Autonomy Service)支援慢日誌分析功能,會統計並分析資料庫中執行時間超過閾值的SQL語句,並提供相應的治理方案,協助您快速定位並解決資料庫效能問題,提高系統的穩定性和可靠性。

前提條件

資料庫引擎為RDS MySQL。

說明

不支援RDS MySQL基礎系列。

注意事項

如果SQL語句長度超過8192位元組,慢SQL將不記錄整條SQL語句。

進入慢SQL頁面

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 在左側導覽列中,選擇自治服務(原CloudDBA) > 慢SQL

  3. 慢日誌分析頁簽,選擇需要查看的時間段,查看該時間段內慢日誌趨勢慢日誌統計慢日誌明細

    說明

    選擇時間範圍時,查詢結束時間需晚於查詢開始時間,且查詢開始時間和查詢結束時間的間隔不能超過一天,您可以查詢最近一個月內的慢日誌資訊。

    • 您可以在慢日誌趨勢圖中單擊某個時間點,查看該時間點的慢日誌統計慢日誌明細

    • 您可以單擊匯出慢日誌,將慢日誌資訊儲存到本地查看。

      重要

      最多支援匯出1000條慢日誌,如果您需要擷取所有的慢日誌,可以通過查看慢日誌明細API介面批量擷取慢日誌。

    • 慢日誌統計地區:

      • 單擊目標SQL模板操作列的樣本,查看該SQL的慢日誌樣本

      • 單擊目標SQL模板操作列的最佳化,在彈出的SQL診斷最佳化對話方塊中,查看SQL診斷結果。

        若您採納診斷建議,單擊頁面右上方的複製,並將最佳化後的SQL粘貼到資料庫用戶端或DMS上執行,若不採納診斷建議,可直接單擊取消結束診斷。

        說明

        DAS會根據SQL的複雜程度、對應表的資料量、資料庫負載等進行SQL診斷,診斷建議的返回時間可能會超過20秒。完成診斷後,SQL診斷引擎會給出診斷結果、最佳化建議和預期最佳化收益,您可以根據診斷結果確認是否採納建議。

        您也可以單擊專家服務,付費購買資料庫專家服務,為您提供雲資料庫產品本身能力範圍之外的專業的資料庫專家服務,主要包括緊急救援、健康診斷、效能調優、護航保障、資料移轉等。

      • 單擊目標SQL模板操作列的限流,在SQL限流頁面配置限流參數,對目標SQ進行限流。詳細操作請參見SQL限流

    • 慢日誌明細地區,單擊目標SQL操作列的最佳化限流,也可對目標SQL進行SQL診斷最佳化SQL限流

相關說明

以下幾點針對慢日誌分析中的重點指標進行說明:

  • 最大掃描行數:慢日誌統計中的指標之一。查詢時間範圍內慢SQL中掃描行數最大的數值。

  • SQL模板:同一類的SQL進行模板化後,產生一個模板。

  • 慢日誌樣本:對SQL模板進行定時採樣的資料。由於樣本統計資訊不完全,詳情請參見查看慢日誌明細

  • 慢日誌明細:RDS預設開啟慢日誌功能。在控制台顯示超過long_query_time設定值的SQL。

    針對RDS MySQL,在開啟了log_queries_not_using_indexes參數後,會記錄沒有使用索引的sql,詳情請參見https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html

常見問題

Q:為什麼會出現慢日誌記錄的SQL執行完成時間與SQL語句的實際執行時間不同?

A:通常情況下是執行SQL語句修改了時區。慢日誌記錄的SQL執行時間的時區,存在會話層級、資料庫層級和系統層級。慢日誌時間設定邏輯為:當資料庫存在時區時,以資料庫的時區為準,否則以系統時區為準。當通過SQL語句修改了會話層級的時區時,可能導致慢日誌記錄的時區無法正常轉換。

相關文檔