AWS MongoDB EC2实例作为具有EC2应用程序实例的localhost

时间:2012-07-17 19:06:17

标签: mongodb amazon-ec2 amazon-web-services localhost

我实际上是AWS新手。我配置了2个EC2实例。

一个用于我的MongoDB数据库,另一个用于我的应用程序。

我正在使用pymongo进行连接。但是如果每次都通过实例发送数据,则需要花费太多时间。我想知道是否可以将mongoDB实例作为应用程序的本地主机,使用组或我不知道,以获得更好的性能。

或者如果最好将数据库放在与我的应用程序相同的实例上并获得更多EBS。

2 个答案:

答案 0 :(得分:3)

确保您知道性能瓶颈在哪里。

如果两个实例位于同一可用区中,则网络延迟不应成为最大的性能问题。实际上,如果您的实例至少 large ...由于更好的NIC ......网络延迟应该不是问题。

要确定,请使用监控工具衡量您的网络利用率。

如果您的任何工作集(任何频率使用的MongoDB文档)都无法容纳在实例的RAM中,则表示您正在触摸EBS。与MongoDB需要的相比,EBS 非常非常慢。我最近使用iozone测量了一个EBS卷,发现EBS卷的速度是笔记本电脑旋转硬盘的一半。

您可以将striping multiple EBS volumes的EBS性能大幅提升到软件RAID配置中。

在AWS上运行MongoDB时的底线是您需要足够的RAM来保存您将以任何频率触摸的MongoDB文档。

答案 1 :(得分:0)

我在生产中有一个应用程序,它在与Web服务器相同的机器上使用mongodb实例。对我来说工作正常,但我现在不需要可扩展性。一个例子就足够了。

因此,要回答您的问题,请确保您可以将其作为localhost运行。

但是如果您的应用程序启动并且您需要多个实例或分片等,那么您也必须在其他计算机上部署实例。