跳至內容

如何針對 Amazon RDS 資料庫執行個體中的寫入延遲尖峰問題進行疑難排解?

2 分的閱讀內容
0

我想針對 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體中的寫入延遲尖峰問題進行疑難排解。

簡短說明

WriteLatency 指標定義每個磁碟 I/O 作業所需的平均時間。最佳實務建議寫入延遲不應超過個位數毫秒。

如果您執行以下動作,資料庫執行個體的寫入延遲可能會出現尖峰:

也可能因為資料庫承受大量工作負載,導致每秒讀寫次數 (IOPS) 或輸送量瓶頸,進而產生尖峰。

解決方法

延遲尖峰疑難排解

若要識別資料庫執行個體上寫入延遲過高的原因,請檢查以下 Amazon RDS 的 Amazon CloudWatch 指標

以下數值表示資料庫執行個體承受大量工作負載且需要更多資源:

  • 延遲數值過高。
  • 輸送量與 IOPS 數值已達到最大配額。
  • DiskQueueDepth 數值過高。
  • 對於 gp2,BurstBalance 數值偏低。

若要對 IOPS 或輸送量瓶頸進行疑難排解,請採取以下其中一項動作:

如果 CloudWatch 指標未顯示資源遭到限流,請使用 Enhanced Monitoring 檢查 writeIOsPS 指標

**注意:**CloudWatch 每 60 秒記錄一次指標,因此可能無法記錄每一次尖峰或下降。您可以將 Enhanced Monitoring Granularity 屬性設定為 1 秒間隔。

如果前述指標未顯示延遲原因,請檢查 NetworkReceiveThroughputNetworkTransmitThroughput CloudWatch 指標是否存在網路問題。

降低延遲載入

當您執行 PITR、將單可用區執行個體變更為多可用區執行個體,或建立新的讀取複寫時,可能會發生延遲載入。如果您嘗試存取 Amazon RDS 尚未載入的資料,資料庫執行個體會立即從 Amazon Simple Storage Service (Amazon S3) 下載要求的資料。執行個體會在背景中持續載入其餘資料。

若要減少需要快速存取的資料表發生延遲載入的情況,請執行涉及完整資料表掃描的作業,例如 SELECT *。這可讓 Amazon RDS 從 Amazon S3 下載所有已備份的資料表資料。

若要在將單可用區執行個體變更為多可用區執行個體後降低延遲載入,您也可以採取以下其中一項動作:

  • 在變更執行個體後不久執行手動容錯移轉。
  • 執行完整傾印,或僅執行必要的查詢,以載入資料表中的所有資料。針對 Amazon RDS for PostgreSQL 執行個體,您可以執行 pg_prewarm 命令。

實作高延遲最佳實務

如果您的資料庫執行個體出現高延遲,請實作以下最佳實務:

重要事項: Performance Insights 將於 2026 年 6 月 30 日終止服務。您可以在 2026 年 6 月 30 日之前升級至 Database Insights 的進階模式。如果不升級,則使用 Performance Insights 的資料庫叢集將預設為 Database Insights 的標準模式。只有 Database Insights 的進階模式才支援執行計畫和隨需分析。如果您的叢集預設為標準模式,那麼您可能無法在主控台上使用這些功能。若要開啟進階模式,請參閱 Turning on the Advanced mode of Database Insights for Amazon RDS (為 Amazon RDS 開啟 Database Insights 進階模式) 與 Turning on the Advanced mode of Database Insights for Amazon Aurora (為 Amazon Aurora 開啟 Database Insights 進階模式)。

相關資訊

Best practices for Amazon RDS (Amazon RDS 的最佳實務)

Understanding burst vs. baseline performance with Amazon RDS and gp2 (了解 Amazon RDS 與 gp2 的爆量效能與基準效能)

Multi-AZ DB instance deployments for Amazon RDS (Amazon RDS 的多可用區資料庫執行個體部署)

AWS 官方已更新 10 個月前