我已经在aws m1.large实例上部署了mongodb 64位2.x版本。在aws(m1.large)上使用MongoDB 64b 2.x延迟
我试图找到MONGO可以给我们在光http://www.snailinaturtleneck.com/blog/tag/mongodb/(和mongodb read/write performance and mongo hosting in the cloud)
我已创建了一个分贝一个集合,即用户和AWS最佳性能插入100,000条记录/ JSON对象(每个json对象大小为4KB),使用随机数作为“user-”的后缀。此外,在用户标识上创建索引。
此外,我将db profiler设置为记录20ms或更长时间的慢速查询。我已经执行了10个线程的Java程序。每个java类用随机数生成用户标识,并在无限循环中的用户集合中找到它。有了这样的负载,我已经观察到延迟查询/读取最多60毫秒。
我还观察到,当我运行较少的线程数说3或4(查询加载用户集合每秒5K查找用户),然后我看到没有延迟或少于2毫秒的延迟。
我不明白为什么在集合中增加查找用户的负载会导致延迟。我相信mongo db可以执行更多的并发读取,然后我正在尝试并且不应该影响性能。
我认为这会是一种可能性 - 如果在单个集合上执行了大量查询(如我们的情况),那么mongo会出现性能问题,我希望在单个集合上每秒钟有10K到20K个查询。
我们将不胜感激您的想法/建议。
您是否在使用任何索引?什么版本的MongoDB?你在Java上使用库吗? (如吗啡)或只是MongoDB? – inglor 2012-03-06 12:31:38
你在哪里测量这个延迟?从你的Java应用程序? – 2012-05-29 11:23:07