資料庫執行個體的效能洞見指 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料庫執行個體的效能洞見指

效能洞見會監控不同類型的指標,如下列各節所述。

資料庫負載

資料庫負載 (DBLoad) 是「效能洞見」中的關鍵指標,可測量資料庫中的活動層級。每秒收集一次,並自動發佈到亞馬遜CloudWatch。它代表資料庫執行個體在平均作用中工作階段 (AAS) 中的活動,也就是同時執行 SQL 查詢的工作階段數目。該DBLoad測量結果與其他時間序列測量結果不同,因為測量結果可以使用下列五個維度中的任何一個來解譯:等待、SQL、主機、使用者和資料庫。這些維度是DBLoad公制。您可以將它們用作通過切片分類來表示數據庫負載的不同特徵。有關我們如何計算數據庫負載的詳細說明,請參閱資料庫載入在亞馬遜 RDS 文檔中。

下列畫面圖例顯示「效能洞見」工具。

效能洞見工具中的資料庫負載

維度

  • 等待事件是資料庫階段作業等待資源或其他作業完成以繼續處理的條件。如果您執行 SQL 陳述式,例如SELECT * FROM big_table如果此表比分配的 InnoDB 緩衝池大得多,則您的會話很可能會等待wait/io/file/innodb/innodb_data_file等待事件,這是由數據文件上的物理 I/O 操作引起的。等待事件是資料庫監督的重要維度,因為它們指出可能的效能瓶頸。等待事件指出您在工作階段中執行的 SQL 敘述句花費最多時間等待的資源和作業。例如,wait/synch/mutex/innodb/trx_sys_mutex當資料庫活動含有大量交易時,就會發生事件,以及wait/synch/mutex/innodb/buf_pool_mutex當執行緒取得 InnoDB 緩衝集區上的鎖以存取記憶體中的頁面時,就會發生事件。有關所有 MySQL 和 MariaDB 等待事件的信息,請參閱等待事件摘要表格在 MySQL 文檔中。若要瞭解如何解譯工具名稱,請參閱效能綱要儀器命名慣例在 MySQL 文檔中。

  • SQL顯示哪些 SQL 敘述句對總資料庫負載的貢獻最大。該頂部尺寸表,這是位於資料庫載入圖表中的亞馬遜 RDS 性能洞察,是互動的。您可以按一下 SQL 敘述句中的列,取得與 SQL 敘述句相關之等待事件的詳細清單依等待負載 (AAS)欄。當您在清單中選取 SQL 敘述句時,效能洞見會在資料庫載入圖表和中的 SQL 敘述句文字SQL 文字部分。SQL 統計資料會顯示在右側頂部尺寸表。

  • 主機顯示已連線用戶端的主機名稱。此維度可協助您識別哪些從屬端主機將大部分負載傳送至資料庫。

  • 使用者由登錄到數據庫的用戶對數據庫負載進行分組。

  • 資料庫按客戶端連接到的數據庫名稱對數據庫負載進行分組。

計數器指標

計數器指標是累積指標,其值只能在資料庫執行個體重新啟動時增加或重設為零。計數器量度的值無法減少為先前的值。這些指標代表一個單調增加的計數器。

  • 原生計數器是由資料庫引擎定義的指標,而不是由 Amazon RDS 定義的指標。例如:

    • SQL.Innodb_rows_inserted表示插入 InnoDB 表中的行數。

    • SQL.Select_scan代表完成第一個資料表完整掃描的聯結數目。

    • Cache.Innodb_buffer_pool_reads表示 InnoDB 引擎無法從緩衝池中檢索並且必須直接從磁盤讀取的邏輯讀取數。

    • Cache.Innodb_buffer_pool_read_requests代表邏輯讀取請求的數目。

    如需所有原生量度的定義,請參閱伺服器狀態變數在 MySQL 文檔中。

  • 非原生計數器由亞馬遜 RDS 定義。您可以使用特定查詢來取得這些量度,也可以在計算中使用兩個或多個原生量度來衍生這些量度。非原生計數器量度可以代表延遲、比率或命中率。例如:

    • Cache.innoDB_buffer_pool_hits表示 InnoDB 可以在不使用磁盤的情況下從緩衝池中檢索讀操作的數量。它是根據原生計數器量度計算的,如下所示:

      db.Cache.Innodb_buffer_pool_read_requests - db.Cache.Innodb_buffer_pool_reads
    • IO.innoDB_datafile_writes_to_disk表示 InnoDB 資料檔案寫入磁碟作業的數量。它只會擷取資料檔案上的作業,而不會擷取雙寫或重做記錄寫入作業。它的計算方式如下:

      db.IO.Innodb_data_writes - db.IO.Innodb_log_writes - db.IO.Innodb_dblwr_writes

您可以直接在效能洞見儀表板中視覺化資料庫執行個體指標。選擇管理指標,選擇資料庫指標標籤,然後選取感興趣的量度,如下圖所示。

在效能洞見中選取資料庫執行個體

選擇合適的更新圖形按鈕以顯示您選取的測量結果,如下圖所示。

在效能洞見中檢視資料庫執行個體

SQL Statistics

效能洞見會針對查詢執行的每秒和每個 SQL 呼叫,收集與 SQL 查詢相關的效能相關測量結果。一般而言,效能洞見會收集SQL 統計資料在語句和摘要級別。但是,對於 MariaDB 和 MySQL 資料庫執行個體,只會在摘要層級收集統計資料。

  • 摘要統計資料是具有相同樣式但最終具有不同常值之所有查詢的複合度量。摘要會以變數取代特定的常值,例如:

    SELECT department_id, department_name FROM departments WHERE location_id = ?
  • 有表示統計數據的指標每秒對於每個消化的 SQL 語句。例如,sql_tokenized.stats.count_star_per_sec代表每秒呼叫次數 (也就是每秒執行 SQL 陳述式的次數)。

  • 效能洞見也包含可提供的指標每次通話SQL 敘述句的統計資料。例如,sql_tokenized.stats.sum_timer_wait_per_call顯示每次呼叫的 SQL 敘述句平均延遲,以毫秒為單位。

SQL 統計資料可在 [效能洞見] 儀表板中取得前幾個 SQL的索引標籤頂部尺寸表。

SQL Statistics