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



我在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

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

我建议您使用免费工具之一,如Datadog, ServerDensity, NewRelic。他们有免费的计划,也可以收集蒙古的统计数据。

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

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

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

最新更新