MongoDB CPU 利用率高,怎么破?

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MongoDB CPU 利用率高,怎么破?

张友东 2017-04-06 23:55:45 浏览11660
展开阅读全文

经常有用户咨询「MongoDB CPU 利用率很高,都快跑满了」,应该怎么办?

遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CPU 利用率高的问题

Step1: 分析数据库正在执行的请求

用户可以通过 Mongo Shell 连接,并执行 db.currentOp() 命令,能看到数据库当前正在执行的操作,如下是该命令的一个输出示例,标识一个正在执行的操作。重点关注几个字段

  • client:请求是由哪个客户端发起的?
  • opid:操作的opid,有需要的话,可以通过 db.killOp(opid) 直接干掉的操作
  • secs_running/microsecs_running: 这个值重点关注,代表请求运行的时间,如果这个值特别大,就得注意了,看看请求是否合理
  • query/ns

网友评论

登录后评论
0/500
评论
张友东
+ 关注
所属云栖号: 阿里云数据库ApsaraDB