Amazon EC2上的高性能MongoDB集群

Amazon EC2上的高性能MongoDB集群

 

英文原文:

http://blog.mongodirector.com/high-performance-mongodb-clusters-on-amazon-ec2/

 

当在EC2平台上部署MongoDB时,性能是一个重要的考量。从硬件的角度来看MongoDB在EC2上的性能主要受两个因素控制 -- RAM和磁盘速度。通常(总是有异常)CPU不会是问题。内存不再是问题--有充足尺寸选项(R3,I2,C3/C4)提供大量的RAM。关于如何选择正确的实例类型的更多详细信息,请查看我的博文 -- “AWS上的MongoDB:如果为你的MongoDB服务器选择正确的EC2实例类型?”。

历史上磁盘速度和延时在Amazon EBS上是一个持续的问题。值得赞扬的是Amazon现在提供大量的选项来帮助磁盘性能。

 

  1. 预置IOPS磁盘 -- 在预置IOPS模型你可以在磁盘创建时指定你想磁盘支持的IOPS数量。预置的IOPS越大,磁盘可以处理的吞吐量越大。可以一直到4000 IOPS/disk。然而IOPS变得昂贵了,每月每IOPS 0.065美元。例如,如果你给磁盘预置4000 IOPS,只是单独为IOPS你将花费每月260美元。如果你有多台服务器这将向上增长得很快。

  2. 本地SSD -- 这是在Amazon AWS上为磁盘性能的最佳选择。在Amazon AWS上的所有磁盘选择,本地SSD提供了最佳吞吐量和延时。然而它们被叫作“本地”是有原因的。如果因为任何原因你的VM停止了,分配的本地存储被释放。因此数据完整性的负担完全给了用户。你可以在两个不同的AZ部署两个本地SSD存储么,能解决么?不完全是。如果AWS有一次区域大停电,就像US-East几年前,你只有等着丢失所有的你的AZ的本地SSD。因为这些原因,本地SSD实例不应该用于你的数据的主数据存储。

 

带着这些问题在心里,我们介绍AWS上的高性能配置。高性能集群使用了混合的本地SSD和EBS预置IOPS磁盘用于实现高性能和高可靠性。典型的配置是使用三节点复制集部署。

  • 1. 主节点和辅助成员1使用本地SSD磁盘。

  • 2. 辅助成员2使用EBS预置IOPS

 

Amazon EC2上的高性能MongoDB集群_第1张图片

 

这是啥意思呢?因为主节点和辅助成员1运行在本地SSD上,你可以从AWS机器上获得最佳的可能磁盘性能 �C 不再通过网络基于EBS,只是消耗快速的本地SSD。对主节点的读写,甚至辅助节点1的读操作将会以SSD的速度运行。辅助成员2使用EBS预置IOPS用于数据磁盘 �C 你可以为你的集群配置你想要配置的IOPS数量。该配置为你的数据提供了完全的安全性,甚至在这里你可以使用本地SSD磁盘。我们当前提供4种尺寸 �C Large,XLarge,X2XLarge,X4XLarge。更多详细信息参考我们的价格页。

 

Amazon EC2上的高性能MongoDB集群_第2张图片

 

如果你有非常高的写负载,有可能你的EBS实例跟不上SSD实例。在这种情况下有一些可用选择,我们的支持组可以帮助解决。所有的已存在功能备份、恢复、克隆、扩容、压缩等继续正常工作。如果你有更多问题请联系我们[email protected]

你可能感兴趣的:(SSD,AWS,ebs)