2012-08-08 38 views
2

我想通过node-mongodb-native驱动程序对我的一个MongoDB数据库启用性能分析。如何在node-mongodb-native中启用分析?

但是似乎没有Db.setProfilingLevel()方法(除Admin DB外)。

我试过使用db.command({setProfilingLevel: 2}),但得到no such cmd: setProfilingLevel

通过与db.setProfilingLevel(2)

回答

5

蒙戈贝壳我看到你的意思的方法是什么工作正常,但我觉得跟db.command尝试的问题是,你正在尝试运行shell助手作为一个命令,而比命令本身。实际的命令是这种格式:

// get current levels 
db.runCommand({ profile : -1 }) 
// set the level to log slow ops 
db.runCommand({ profile : 1 }) 
// set to log slow ops and change the threshold to 200ms 
db.runCommand({ profile : 1, slowms : 200 }) 
//revert to defaults 
db.runCommand({ profile : 0, slowms : 100 }) 

因此,如果您尝试将相关的值传递到db.command应该工作。

+0

如何在docker中实现这个功能,那么下一次我会开始mongo分析呢? – holms 2017-08-20 11:20:44

+0

如果你需要更多的帮助,我会推荐一个单独的问题,但基本上你会使用一个配置文件(https://dba.stackexchange.com/q/82591/6441)并在那里指定它,假设你可以添加/修改一个配置文件并重新部署你的容器。否则(或者如果该选项在配置中不可用),您需要将它传递到在容器中运行'mongod'的命令 – 2017-08-20 22:19:41