全部產品
Search
文件中心

Database Autonomy Service:全域慢日誌分析

更新時間:Dec 06, 2025

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

視頻介紹

前提條件

  • 資料庫引擎為:

    • RDS MySQLPolarDB MySQL版MyBase MySQL、自建MySQL

    • RDS SQL ServerMyBase SQL Server

    • RDS PostgreSQLPolarDB PostgreSQL版

    • 雲資料庫 Tair(相容 Redis)、自建Redis

    • PolarDB PostgreSQL版(相容Oracle)

    • PolarDB-X 2.0

    • ApsaraDB for MongoDB、自建MongoDB

    重要
    • 慢日誌詳細資料支援全部地區;慢日誌即時統計資料,支援中國內地、中國香港、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、日本(東京)、德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)地區。

    • 新版慢日誌頁面不支援自建資料庫執行個體。

  • 目標資料庫執行個體已經接入DAS,詳情請參見接入資料庫執行個體

背景資訊

慢日誌由資料庫核心輸出,不同資料庫引擎慢日誌的配置參數及閾值不相同,具體的配置參數和閾值請參見對應資料庫引擎的官方文檔。

查看單個執行個體的慢日誌

本文以RDS MySQL資料庫為例介紹如何查看單個執行個體的慢日誌。

  1. 登入DAS控制台

  2. 在左側導覽列中,單擊智能營運中心 > 執行個體監控

  3. 找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。

  4. 在左側導覽列單擊請求分析 > 慢日誌

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

    說明

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

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

      說明

      如果慢日誌語句內容過長,沒有完整展示,您可以將滑鼠指標放置在對應的慢日誌語句上,系統將以彈框的形式展示完整的慢日誌語句。

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

    • 單擊image,可攜帶當前已選擇和輸入的參數,跳轉至OpenApi控制台,進行API調試。

    • 事件分布地區:

      可以查詢到指定時間範圍內的慢日誌事件,單擊後可查詢事件詳情。

    • 慢日誌統計地區:

      • 在列表上側,可選擇過濾條件,對資料進行篩選,不同的資料庫引擎可篩選條件不同。

      • 單擊目標SQL模板SQL ID列的資料ID,可查看包含使用者分布、用戶端分布和指標趨勢的相關性及明細列表。

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

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

        說明

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

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

      • 對於PolarDB MySQL版資料庫執行個體,單擊目標SQL模板操作列的IMCI,查看列存索引(IMCI)的相關文檔。

        說明
        • PolarDB MySQL版資料庫執行個體未購買列存索引節點,且慢日誌的最大執行時間超過20秒,最大掃描行超過20萬行時,顯示IMCI按鈕。

        • 對於巨量資料量複雜查詢,推薦使用列存索引(IMCI)提升查詢效能。

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

查看全域慢日誌

若您有多個資料庫執行個體,您可以在全域慢日誌趨勢頁面,查看所選資料庫引擎整體的慢日誌趨勢以及TOP10執行個體的慢日誌統計。

重要

全域慢日誌趨勢僅支援中國內地的RDS MySQLMyBase MySQLPolarDB MySQL版

  1. 登入DAS控制台

  2. 在左側導覽列中,單智能營運中心 > 慢日誌,查看全域慢日誌趨勢TOP 執行個體統計資訊。

    說明

    選擇時間範圍時,查詢結束時間需晚於查詢開始時間,您可以查詢最近十四天內的慢日誌資訊。

常見問題

  • Q:對於RDS MySQLPolarDB MySQL版資料庫執行個體,為什麼會出現慢日誌記錄的SQL執行完成時間與SQL語句的實際執行時間不同?

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

  • Q:為什麼能夠正常訪問舊版慢日誌,而訪問新版慢日誌時卻會出現許可權錯誤的提示(例如,NoPermission和Forbidden.RAM)?

    A:新版慢日誌頁面經過重新設計,提供了更為強大的資料過濾和篩選功能,其所需的權限原則(Action)也與舊版慢日誌有所不同。若您沒有對應的權限原則,則無法正常訪問新版慢日誌頁面。請參考RAM使用者授權文檔,為RAM使用者授予如下權限原則:

    • 必要許可權:慢日誌趨勢圖資料(DescribeSlowLogHistogramAsync)、慢日誌模板統計資料(DescribeSlowLogStatistic)、慢日誌詳細資料(DescribeSlowLogRecords)、事件中心資料(GetInstanceEventWithGroupType)、效能趨勢資料(GetPerformanceMetrics)。

    • 建議許可權:對SQL進行打標(CreateSqlTag)、擷取SQL標籤(DescribeDasQueryTagNames)。