2011-05-14 64 views
1

我正在考慮使用EBS來收集很多maildirs。許多小文件遍佈許多目錄。將我的EBS存儲分割成多個較小的容器會使讀/寫的性能提高與一個大的EBS容量相比?分片EC2 EBS卷收益性能增益?

回答

2

也許你可以用分片來解釋你的意思。否則,EBS的表現而言,有幾個缺點:

  • 它的網絡結合(例如在一個較小的情況下,在多個實例共享一臺主機,網絡性能是子恆星)。
  • 這是多租戶(再次,多人在主機上影響EBS)
  • 其性能會有所不同(表現一向不穩定)
  • 這不是SAN!

爲了緩解這些問題,很多人建議創建多個EBS卷突襲,我建議下面的文章:

底線,對於maildir,我可能會看看真實硬件。聽起來你不需要從一分鐘到另一分鐘放大/縮小。我可能會安裝一個設置,如果有必要的話,除了臨時處理尖峯之外(在獲得更多硬件之前),還可以使用雲解決方案。

讓我知道這是否有幫助!

+0

我會閱讀這些文章 - 謝謝。我所說的「分片」的意思是將我的maildir語料庫分成4個比較相等的部分,這些部分基於一些循環度量。然後我將所有4個存儲在單獨的EBS捲上。假設我的郵件總髮送I/O爲10MBps。如果我有一個EBS卷,那麼EBS卷必須跟上10MBps的寫入負載。如果我有4卷,每個都必須跟上(大約)2.5MBps的寫入負載。我的問題是:我能否保持較高的平均寫入吞吐量,使我的寫入跨越大於1個EBS卷,而不是單個EBS卷。 – j00bz 2011-05-23 15:02:19

+0

我猜測,分配負載就像[c,sh]可以工作。但我不確定你計劃如何處理未來的增長。例如。不同的用戶會使每個_shard_以不同的方式增長。不知道它是否總是均勻分佈。 – Till 2011-05-24 22:13:18

+0

我會建議使用軟件RAID。關於分片的壞處在於,你總是需要在某個時間點重新開始。除非您的解決方案支持自動重新分片(例如MongoDB),否則這是主要的PITA。 – 2012-07-16 02:31:01