跟踪MongoDB的表现?

Ste*_*fin 21 mongodb

有没有办法跟踪MongoDB中的"查询"性能?特别测试索引或子文档?

在sql中,您可以运行查询,查看执行时间和其他分析指标.

我有一个巨大的mongoDB集合,想要尝试不同的变体和索引,不知道如何测试它,很高兴看到找到一条记录需要多长时间..(我是MongoDB的新手).谢谢

Gat*_* VP 21

这里有两件你可能会熟悉的事情.

  1. 解释计划
  2. 慢日志

解释计划

这里有一些关于解释的基本文档.运行说明很简单db.foo.find(query).explain().(请注意,这实际上会运行查询,因此如果您的查询速度很慢,那么也会这样)

要了解输出,您需要检查下面慢速日志中的一些文档.您基本上会获得有关"扫描了多少索引","找到了多少索引"等详细信息.正如此类性能详细信息一样,解释非常适合您.阅读上面和下面的文档,指出正确的方向.

慢日志

默认情况下,慢速日志处于活动状态,阈值为100毫秒.这是关于分析的完整文档的链接.帮助您入门的几个关键点:

获取/设置分析:

db.setProfilingLevel(2); // 0 => none, 1 => slow, 2 => all
db.getProfilingLevel();
Run Code Online (Sandbox Code Playgroud)

查看慢查询:

db.system.profile.find()
Run Code Online (Sandbox Code Playgroud)