繁体   English   中英

在Amazon EBS上使用预配置IOPS时,是否需要在Mongo上运行RAID 10?

[英]Do you need to run RAID 10 on Mongo when using Provisioned IOPS on Amazon EBS?

我正在尝试在亚马逊上设置一个生产mongo系统,用作实时指标系统的数据存储区,

我最初在市场中使用了MongoDB AMI [1],但我很困惑,因为只有一个数据EBS。 我读过Mongo建议在EBS存储上使用RAID 10(每台服务器上有8个EBS)。 另外,我已经读过,生产的最低限度是主要/次要的仲裁。 RAID 10仍然是推荐的设置,还是一个配置的IOPS EBS足够?

请指教。 我们是一家小商店,那么我们可以逃脱的最低限度是什么,并且仍然相当安全?

[1]具有1000 IOPS的MongoDB 2.4 - 数据:200 GB @ 1000 IOPS,日志:25 GB @ 250 IOPS,日志:10 GB @ 100 IOPS

所以,我刚刚与亚马逊系统工程师打电话,他有一些与这个问题相关的有趣见解。

  1. 首先,如果你打算使用RAID,他说只是做条带化,因为无论如何EBS块都在幕后反映出来,所以raid 10对他来说似乎有些过分。

  2. 标准EBS卷倾向于很好地处理尖刺流量(它可能能够处理1K-2K iops几秒钟),但最终它将平均减少100个iops。 一个建议是使用许多小型EBS卷并对其进行条带化以获得更好的iops吞吐量。

  3. 他的一些客户只使用EC2图像上的短暂存储,但随后在可用性集中有多个(3-5)节点。 短暂存储是物理机器上的存储。 显然,如果您将EC2实例与SSD存储一起使用,则最多可以获得20K iops。

  4. 一些客户将为主设备执行一个巨大的EC2映像w / ssd,然后为辅助设备执行较小的EC2 w / EBS。 主计算机性能良好,但故障转移可用,但性能下降。

  5. 确保在启动实例时检查“EBS Optimized”。 这意味着您有一个专用的EBS存储通道(任何类型),而不是共享NIC。


  6. 重要! 预配置的IOPS EBS很昂贵,当您关闭它们所连接的EC2实例时,账单不会关闭。 (这在测试时很糟糕)他的建议是拍摄EBS卷的快照,然后删除它们。 当您再次需要它们时,只需创建新的预配置IOPS EBS卷,还原快照,然后重新配置EC2实例以附加新存储。 (它的工作量应该超出应有的水平,但值得一提的是不要让傻瓜大肆宣传IOPS法案。

我有同样的问题。 亚马逊和Mongodb都试图在配置的IOP上大肆宣传其优于标准EBS卷的优势。 我们在m2.4xlarge aws实例上运行prod实例,每个服务设置1个主服务器和2个辅助服务器。 在利用率最高的服务集群中,除了一些缓慢的查询之外,监控图表根本不会显示任何性能下降。 页面错误很少发生,每天一次或两次也会发生0.0001到0.0004次错误。 后台刷新以毫秒为单位,锁和队列到目前为止处于可管理的级别。 I / O在主节点上等待0到2%之间的任何时间,大多数小于1,并且%idle空闲稳定地保持在90%以上。 我是否仍需要考虑配置的IOP,因为我们仍有预算可以改善任何潜在的性能拖累? 任何指导将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM