【问题标题】:Does sharding an EC2 EBS volume yield performance gains?对 EC2 EBS 卷进行分片是否会提高性能?
【发布时间】:2012-03-29 21:04:01
【问题描述】:

我正在考虑将 EBS 用于大量邮件目录。许多小文件分布在许多目录中。与一个大型 EBS 卷相比,将我的 EBS 存储分片到多个较小的容器中会产生读/写性能提升吗?

【问题讨论】:

    标签: amazon-ec2 amazon-web-services sharding amazon-ebs


    【解决方案1】:

    也许您可以解释分片的确切含义。否则,就 EBS 的性能而言,存在一些缺点:

    • 它是网络绑定的(例如,在较小的实例上,更多实例共享一个主机,网络性能是次等的)。
    • 它是多租户的(同样,主机上的多个人会影响 EBS)
    • 其性能各不相同(性能永远不稳定)
    • 它不是 SAN!

    为了缓解其中一些问题,很多人建议从多个 EBS 卷创建一个 RAID,我建议以下文章:

    底线,对于邮件目录,我可能会研究真正的硬件。听起来您不需要从一分钟放大/缩小到另一分钟。我可能会进行适当的设置,并在必要时使用云解决方案来临时处理峰值(在您获得更多硬件之前)。

    如果这有帮助,请告诉我!

    【讨论】:

    • 我会阅读这些文章 - 谢谢。我所说的“分片”的意思是将我的 maildir 语料库分成 4 个相对相等的部分,基于一些循环度量。然后我将所有 4 个存储在单独的 EBS 卷上。假设我的总邮件传递 I/O 为 10MBps。如果我有一个 EBS 卷,则该 EBS 卷必须跟上 10MBps 的写入负载。如果我有 4 个卷,每个卷都必须跟上(大约)2.5MBps 的写入负载。我的问题是:与单个 EBS 卷相比,我是否能够在 >1 个 EBS 卷上保持更高的平均写入吞吐量。
    • 我猜这样分配负载 [c,sh] 会起作用。不过,我不确定您打算如何处理未来的增长。例如。不同的用户会使每个 shard 以不同的方式增长。不确定它是否总是均匀分布。
    • 我建议使用软件 RAID。分片的坏处是你总是不得不在某个时间点重新分片。这是一个主要的 PITA,除非您的解决方案支持自动重新分片(例如 MongoDB)。
    • @j00bz 我同意直到这里,这不会均匀分布。我不建议尝试像那样扩展。在实践中,您将有一些分片以看似不可预测的方式经历比其他分片更多的写入负载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多