在MongoDB中查询时测量CPU / RAM使用率

时间:2016-08-09 09:11:14

标签: mongodb mongodb-query pymongo cpu-usage

我在MongoDB上设置了一个数据库,我想计算各种查询的CPU和RAM使用情况。

我试图使用psutil库来执行此操作。这是一个这样的例子:

process = psutil.Process(44083) # Got the pid of mongod running by ps aux | grep mongod

mem_usage = process.memory_info()[0]
cpu_usage = process.cpu_percent()
print mem_usage, cpu_usage

cursor = db.production.find({'key':value})

mem_usage = process.memory_info()[0]
cpu_usage = process.cpu_percent()
print mem_usage, cpu_usage

这是获得所需指标的正确方法吗?

1 个答案:

答案 0 :(得分:0)

我建议您使用Datadog,ServerDensity,NewRelic等免费工具之一。他们有免费的计划,并且能够收集mongo统计数据。

但是,当你无法控制CPU和内存时,为什么需要测量它?

我宁愿专注于构建适当的架构和索引,然后测量它们的用法,cpu和ram只是somethings going on的指标。另一方面,Mongo统计数据可以告诉你what正在进行中。

以下是Mongo文档中的一些有用链接: https://docs.mongodb.com/manual/administration/monitoring/ https://docs.mongodb.com/manual/reference/command/serverStatus/