Amazon-Rds
Amazon RDS:為什麼我獲得的 IOPS 比我預置的多?
我們執行一個多可用區 r4.2xlarge Mysql RDS 實例,並提供 2000 IOPS(每月額外花費 400 美元)。當我查看 CloudWatch 圖表時,我可以看到大部分時間段
Write IOPS
都超過了我們支付的 2000 個:(在工作日的英國工作時間內,IOPS 高於 2000)
根據文件,除此之外還
Read IOPS
發生了這也計入預置限制:總 IOPS 是讀取和寫入 IOPS 的總和。IOPS 的典型值範圍從每秒零到數万。
有沒有解釋為什麼我得到的 IOPS 比我預置的多?
我考慮的事情:
- 即使對於具有預置 IOPS 的 RDS 實例,AWS 也可能允許 IOPS 突增?我認為不是因為我
BurstBalance
在 Cloudwatch 中看不到我的實例的指標,就像我對非預置 IOPS RDS 實例所做的那樣。- 也許 AWS 會根據 RDS 的磁碟大小添加額外的 IOPS 積分?我們有一個 500G 的磁碟,如果我們使用通用 SSD,它將提供 1500 IOPS 的基準性能。我沒有在文件中看到這一點。
- 也許 AWS 根據 24 小時內的平均值而不是硬限制來限制您的 IOPS?
Provisioned IOPS
是保證您將至少獲得許多 IOPS,但如果主機有備用容量,AWS可能會允許實例使用更多。如果您不走運,您可能在與您相同的實例上有一個“吵鬧的鄰居”,他們可能會阻止您使用超過您的預置量。數據來源:我提出了 AWS 支持票,他們告訴我:
根據 AWS 資源的可用性,您將能夠超越已預置的 IOPS。最終,隨著資源可用性變得更加受限,WriteIOP 的數量將與預置的數量持平,因為這是預置卷的保證限制。
(他們還建議啟用增強監控以查看底層作業系統的指標。我沒有這樣做,所以不確定它有什麼幫助……)