我对Mongodb和EC2了解不多。所以作为一个门外汉,我的问题是,如果在STANDARD SMALL EC2 LINUX / UBUNTU实例上安装了mongodb服务器,那么mongodb服务器可以处理多少I / O(以kb / mb / gb /秒为单位),mongodb服务器可以处理而不会出现阻塞。
是否有任何公式或软件或网站可以告诉服务器的最大强度或输出?
注意:Mongodb和EC2实例以默认模式安装。
提前致谢
答案 0 :(得分:5)
没有特定的公式可以确定您可以在服务器上运行什么,因为这将根据您的服务器配置以及您的应用程序(和服务器)当时实际执行的操作而有很大差异。平均负载与峰值负载相比也可能相当高。
例如:
对于MongoDB,一个有用的起点是Optimization上的文档。
您应该为资源监控设置一些主动服务(例如Munin),以了解您的应用程序的使用模式。
要对应用程序可以处理的内容进行估计,您还可以尝试load test使用众多基准测试工具之一。关键在于制定准确的测试配置文件,并确定潜在的性能热点/弱点,以便解决。
答案 1 :(得分:3)
更长,更漫无边际的答案......
这是一个复杂的问题,因为它最终取决于您的活动数据集的大小,以及它是否远远超过与该实例关联的1.7GB RAM。不适合内存的数据越多,MongoDB必须转到磁盘才能获取数据,并且当数据库等待(臭名昭着)Amazon IO返回时,您的应用程序将在数据库上等待的次数越多要求提供数据。
另外,使用MongoDB的锁定,如果你更容易受到较慢的IO(即插入和更新......主要是更新)的影响,那么争用也可以帮到你。
此外,如果您不想担心这些问题并且能够有效扩展,您可以使用MongoDB托管服务之一(例如MongoHQ ...免责声明,我是创始人),因为他们允许您随着您的成长有效扩展,并允许您更轻松地在不同级别测试IO。
因此,在选择实例时,RAM和I / O性能是需要考虑的重要事项。
答案 2 :(得分:1)
此AWS白皮书可能有所帮助: http://media.amazonwebservices.com/AWS_NoSQL_MongoDB.pdf