Azure MongoDB查找操作查询时间很慢

时间:2018-02-02 19:55:32

标签: node.js mongodb azure azure-cosmosdb

我使用Robo 3T来测试Azure Cosmos MongoDb,而另一个MongoDb在VM中具有完全相同的数据。

我在本地计算机(Windows)中运行非常简单的查询:

db.getCollection('PSTN_inspector_wav_data').find({})

我可以控制我想要的文件数量。结果如下所示。

对于Azure Cosmos Mongodb:

  1. 如果我想获取500个文档,则需要2.135秒: The capture image
  2. 如果我想获取5000个文档,则需要18.308秒: The capture image
  3. 如果我想获取25000个文档,则需要84.097s: The capture image
  4. 对于Vm中的mongoDb:

    如果我想获取25000个文档,则只需1.448秒 The capture image

    似乎Azure Cosmos Mongodb,查询时间与文档大小呈线性关系。

    我已经检查过网络,它没有任何问题。

    所以有人可以猜出为什么它很慢?

1 个答案:

答案 0 :(得分:1)

按此顺序: 1. Azure DC的延迟 2. Auth /加密/备份/复制层增加开销。如果你在本地MongoDB中关闭所有这些,它也会慢得多。 3.未分区(例如未缩放)的集合 4.低吞吐量设置(这里不太可能出现问题,因为你会收到错误,但是随着用户数量的增加你可以控制的事情之一(你不能使用独立的MongoDB)。

总之 - 不要将社区版未硬化软件流程与生产就绪的货币支持分布式服务进行比较。它们并不等同。