選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

synch/mutex/innodb/buf_pool_mutex - Amazon Aurora

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

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

synch/mutex/innodb/buf_pool_mutex

當執行緒已對 InnoDB 緩衝集區取得鎖定來存取記憶體中的頁面時,synch/mutex/innodb/buf_pool_mutex 事件便會發生。

相關的引擎版本

下列引擎版本支援這個等待事件資訊:

  • Aurora MySQL 第 2 版

Context

buf_pool 互斥是單一互斥,其會保護緩衝集區的控制資料結構。

如需詳細資訊,請參閱 MySQL 文件中的使用效能結構描述監控 InnoDB Mutex 等待

等待時間增加的可能原因

這是工作負載特定的等待事件。synch/mutex/innodb/buf_pool_mutex 出現在最高等待事件之間的常見原因包括:

  • 緩衝集區不夠大,無法容納工作資料集。

  • 工作負載更特定於來自資料庫中特定資料表的特定頁面,從而導致緩衝集區中的爭用。

動作

根據等待事件的原因,我們會建議不同的動作。

識別造成事件的工作階段和查詢

通常,具有中等至重大負載的資料庫會有等待事件。如果效能是最佳的,則等待事件可能是可以接受的。如果效能不是最佳的,則檢查資料庫在何處花費最多時間。查看造成最高負載的等待事件,並了解您是否可以最佳化資料庫和應用程式,以減少這些事件。

在 AWS 管理主控台中檢視頂端SQL圖表
  1. 在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Performance Insights (績效詳情)。

  3. 選擇資料庫執行個體。即會顯示該資料庫執行個體的績效詳情儀表板。

  4. Database load (資料庫負載) 圖表中,選擇 Slice by wait (依等待建立配量)。

  5. 資料庫載入圖表下方,選擇前 SQL

    圖表列出負責載入的SQL查詢。位於清單頂端者負最大責任。若要解決瓶頸,請專注於這些陳述式。

如需使用績效詳情進行故障診斷的實用概觀,請參閱部落格文章 使用績效詳情分析 Amazon Aurora MySQL Workloads

使用績效詳情

此事件與工作負載相關。您可以使用績效詳情執行下列動作:

  • 從應用程式日誌或相關來源識別等待事件開始的時間,以及工作負載在該段時間是否有任何變更。

  • 識別負責此等待事件的SQL陳述式。檢查查詢的執行計劃,以確定這些查詢已最佳化,並使用適當的索引。

    如果負責等待事件的最高查詢與相同的資料庫物件或資料表相關,請考慮分割該物件或資料表。

建立 Aurora 複本

您可以建立 Aurora 複本來提供唯讀流量。您也可以使用 Aurora Auto Scaling 來處理讀取流量的突增。務必在 Aurora 複本上執行排定的唯讀任務和邏輯備份。

如需詳細資訊,請參閱Amazon Aurora Auto Scaling with Aurora 複本

檢查緩衝集區大小

查看指標 innodb_buffer_pool_wait_free,檢查緩衝集區大小是否足以處理工作負載。如果此指標的值很高且持續增加,這表示緩衝集區的大小不足以處理工作負載。如果 innodb_buffer_pool_size 已正確設定,則 innodb_buffer_pool_wait_free 的值應該很小。如需詳細資訊,請參閱 MySQL 文件中的 Innodb_buffer_pool_wait_free

如果資料庫執行個體具有足夠的記憶體,可供工作階段緩衝區和作業系統任務使用,請增加緩衝區集區大小。如果沒有,請將資料庫執行個體變更為較大的資料庫執行個體類別,以取得可配置給緩衝集區的額外記憶體。

注意

Aurora MySQL innodb_buffer_pool_instances會根據設定的 自動調整 的值innodb_buffer_pool_size

監控全域狀態歷史記錄

透過監控狀態變數的變更率,您可以在資料庫執行個體上偵測鎖定或記憶體問題。開啟全域狀態歷史記錄 (GoSH),如果尚未開啟的話。如需 GoSh 的詳細資訊,請參閱管理全域狀態歷史記錄

您也可以建立自訂 Amazon CloudWatch 指標來監控狀態變數。如需詳細資訊,請參閱發佈自訂指標

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。