首页 > 数据库技术 > 详细

MongoDB CPU使用率高原因说明

时间:2021-09-12 06:22:23      阅读:30      评论:0      收藏:0      [点我收藏+]

参考:https://help.aliyun.com/document_detail/62224.html

MongoDB CPU使用率高的可能原因:

  • 全表扫描
    • 如果这种请求比较频繁,建议对查询的字段建立索引的方式来优化。
  • 未使用索引或索引不合理
    • 如果索引建立的不太合理,或者是匹配的结果很多。这样即使使用索引,请求开销也不会优化很多,执行的速度也会很慢。
  • 大量数据排序
  • 服务器能力达到上限
    • 整个数据库的查询非常合理,所有的请求都是高效的走了索引,基本没有优化的空间了,就是机器的服务能力已经达到上限了,应该升级配置了
  • 服务器被攻击
    • 通过分析端口连接数,来源IP,日志确认来源IP的访问内容

查看数据库当前正在执行的操作:

> db.currentOP()

该命令的输出示例如下:

{
        "desc" : "conn632530",
        "threadId" : "140298196924160",
        "connectionId" : 632530,
        "client" : "11.192.159.236:57052",
        "active" : true,
        "opid" : 1008837885,
        "secs_running" : 0,
        "microsecs_running" : NumberLong(70),
        "op" : "update",
        "ns" : "mygame.players",
        "query" : {
            "uid" : NumberLong(31577677)
        },
        "numYields" : 0,
        "locks" : {
            "Global" : "w",
            "Database" : "w",
            "Collection" : "w"
        },
        ....
    },

您需要重点关注以下几个字段:
技术分享图片

说明:如果发现有异常的请求,您可以找到该请求对应的 opid,执行 db.killOp(opid) 终止该请求。

查看数据库连接数:

> db.serverStatus().connections;
{
	"current" : 70,
	"available" : 51130,
	"totalCreated" : 17234652,
	"active" : 9
}

MongoDB CPU使用率高原因说明

原文:https://www.cnblogs.com/varden/p/15253758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!