Mongodb

如何計算我們的 mongo 伺服器所需的 EBS PIOPS?

  • December 3, 2013

我們想在我們的 mongo 機器上使用預置的 IOPS EBS 卷,我對如何計算要使用的預置 IOPS 的數量有點困惑。

目前,我們每卷平均獲得 25 IOPS(讀取 + 寫入)(我們使用 4 個 EBS 卷組合),我們還看到我們的 CPU 在峰值 IO 時間處於“等待”狀態。

我可以將問題分為兩部分-

  1. 遷移到預配置的 EBS IOPS 後,我們是否會看到平均 IOPS 大幅增加,因為 IO 延遲會減少,我們是否應該採取大緩衝區以避免超過 IOPS 計數?
  2. 您將如何為您的 mongo 設置計算預置 IOPS 的最佳數量?

謝謝!

編輯 - 附加來自亞馬遜的捲平均隊列長度

(我無法粘貼圖片,所以這裡有一個連結)

https://s3-eu-west-1.amazonaws.com/uploads-eu.hipchat.com/13432/91327/Mz2erjjMUcxMmDN/upload.png

IOStat 數字是您真正需要衡量的影響,最好是隨著時間的推移並與 MongoDB 負載相關(因此我建議使用帶有munin-node外掛的MMS進行監控)。如果您在 svctime 和隊列大小上沒有看到高水平的延遲(如果是,您可能沒有空閒 CPU,您會看到 IOWait 峰值)。

各種分析的普遍共識是:

  • PIOPS 的延遲會有所改善(這會因工作負載的大小和其他因素而異,例如,請參見此處
  • 通常,您將在延遲和吞吐量方面獲得更加一致的性能,儘管這並不總是正確的(與上述相同的報告)
  • 但是,如果您在 IO 方面沒有看到任何壓力,那麼您不太可能通過使用 PIOPS 看到巨大的差異(除了更一致的性能之外)

由於您的 IO 似乎不是您的瓶頸(我將在此處提供有限的證據/資訊),我認為您看到的不會比您目前看到的 100 PIOPS 多得多,但您應該有更可預測的性能。

引用自:https://serverfault.com/questions/558711