2011-05-14 79 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