跳至內容

如何識別 EBS 磁碟區是否出現微型爆量問題,並確保它不會影響效能?

2 分的閱讀內容
0

我的 Amazon Elastic Block Store (Amazon EBS) 磁碟區未達到 Amazon CloudWatch 中的平均輸送量或每秒 I/O 作業 (IOPS) 配額。但是磁碟區顯示為限流狀態,並且出現高延遲和佇列過長的問題。

解決方法

預設情況下,CloudWatch 指標會以一分鐘的間隔收集樣本。然而 I/O 作業是以毫秒級速度發生的。當磁碟區在比收集間隔更短的時間內出現高 IOPS 或高輸送量的爆量情形時,CloudWatch 不會擷取爆量。若要確定您的磁碟區是否在一分鐘內經歷效能爆量,請執行以下動作。

使用 CloudWatch 指標以識別可能的微型爆量

檢查 VolumeIOPSExceededCheck 和 VolumeThroughputExceededCheck

VolumeIOPSExceededCheck 和 VolumeThroughputExceededCheck 指標會顯示 IOPS 或輸送量何時超出磁碟區的佈建效能。這些指標會顯示一分鐘內任意時間點的 IOPS 和輸送量,並以一分鐘的精度提供合併訊號。如果這些指標的值為 1,則表示工作負載為微型爆量。

檢查 VolumeIdleTime 指標

VolumeIdleTime 指標圖表會顯示在指定的持續時間內未提交讀取或寫入作業的秒數。如果 VolumeIdleTime 較高,則磁碟區會在在大部分持續時間內保持閒置狀態。如果在相同持續時間內發生了夠高的 IOPS 或輸送量,則表示該磁碟區經歷了微型爆量。

計算 EBS 磁碟區收到的平均輸送量和平均 IOPS

請使用下列公式來計算 EBS 磁碟區的平均輸送量:

預估平均輸送量 = ( Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / CEIL(Period - Sum(VolumeIdleTime))

請使用下列公式來計算 EBS 磁碟區的平均 IOPS:

預估平均 IOPS = ( Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / CEIL(Period - Sum(VolumeIdleTime))

使用 CEIL 函式以避免計算中出現極端情況。上述公式適用於 VolumeIdleTime 非常接近週期的情況。為了提供更準確的計算,CEIL 確保接近零的值不會改變結果。如需詳細資訊,請參閱支援的指標數學函式

如果平均輸送量或 IOPS 大於磁碟區的最大輸送量或 IOPS,則工作負載會經歷微型爆量。

使用 Amazon EBS 詳細效能統計資料來識別可能的微型爆量

若要取得即時可見性,請提取磁碟區的詳細效能統計資料。這些統計資料顯示了您的工作負載在嘗試推動超過該磁碟區所佈建的 IOPS 或輸送量上限時,所花費的微秒數。Amazon EBS 只在磁碟區附加到 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的期間內保留這些統計資料。若要使用它們來檢查微型爆量的根本原因,Amazon EBS 必須事先已經擷取到相關資料。

若要存取統計資料,請參閱存取統計資料

使用作業系統層級工具來識別可能的微型爆量

即使 VolumeIdleTime 較低,EBS 磁碟區也可能經歷微型爆量。對於 VolumeIdleTime 較低的磁碟區,請使用具有精細樣本收集的作業系統 (OS) 工具,以更有效地識別工作負載是否經歷微型爆量。

Linux

若要以一秒的精度報告所有已裝載磁碟區的 I/O 統計資料,請執行 iostat 命令:

iostat -xdmzt 1

iostat 工具屬於 sysstat 套件。如果您找不到 iostat 命令,請執行下列命令,在 Amazon Linux Amazon Machine Image (AMI) 上安裝 sysstat:

sudo yum install sysstat -y

如需詳細資訊,請參閱 Linux man 網站上的 iostat

若要判斷是否達到了輸送量配額,請檢閱輸出中的 rMBpswMBps。如果 rMBps + wMBps 大於磁碟區的輸送量上限,則表示磁碟區發生了微型爆量。

若要判斷您是否達到了 IOPS 配額,請檢閱輸出中的 rpswps。如果 rps + wps 大於磁碟區的 IOPS 上限,則表示磁碟區發生了微型爆量。

Windows

在 Windows 效能監視器中執行 perfmon 命令

變更磁碟區大小或類型以調整您的應用程式,並防止微型爆量

微型爆量可能會導致應用程式出現 I/O 限流或 I/O 延遲。為了防止此問題,請調整磁碟區的類型與大小,使其即使在發生微型爆量時,也能支援您所需的 IOPS 和輸送量。

執行個體可以推送至所有已連接 EBS 磁碟區的 IOPS 和輸送量都有上限。如需詳細資訊,請參閱 Amazon EBS 最佳化執行個體類型

最佳做法是根據工作負載進行磁碟區基準效能測試,以在測試環境中確定哪些磁碟區類型能夠安全地滿足您的工作負載。

AWS 官方已更新 5 個月前