摘要:排查使用一直在使用云数据库的时候您可能会遇到使用率很高或者使用率接近的问题,从而导致数据读写处理异常缓慢分析数据库正在执行的请求通过连接实例。表示该操作已经执行的时间,单位为微秒。通常是查询插入更新删除中的一种。
排查MongoDB CPU使用一直1000%
在使用云数据库MongoDB的时候您可能会遇到MongoDB CPU使用率很高或者CPU使用率接近100%的问题,从而导致数据读写处理异常缓慢
分析MongoDB数据库正在执行的请求
通过Mongo Shell连接实例。
执行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"
}
....
}
您需要重点关注以下几个字段
字段 返回值说明
client 该请求是由哪个客户端发起的。
opid 操作的唯一标识符 (如果有需要,可以通过db.killOp(opid)
直接终止该操作)
secs_running 表示该操作已经执行的时间,单位为秒。(如果
该字段返回的值特别大,需要查看请求是否合理。)
microsecs_running 表示该操作已经执行的时间,单位为微秒。(如果该字段返回的值特别大,需要查看请求是否合理。)
ns 该操作目标集合。
op 表示操作的类型。通常是查询、插入、更新、删除中的一种。
locks 跟上锁相关的信息。
通过 db.currentOp()
查看正在执行的操作,分析是否有不正常耗时的请求正在执行。例如您的业务平时CPU使用率不高,运维管理人员连到MongoDB数据库执行了一些需要全表扫描的操作导致CPU使用率非常高,业务响应缓慢,此时需要重点关注执行时间非常耗时的操作。
说明:如果发现有异常的请求,您可以找到该请求对应的opid,执行db.killOp(opid)
终止该请求。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/126323.html
摘要:最近阅读了很多优秀的网站性能优化的文章,所以自己也想总结一些最近优化的手段和方法。个人感觉性能优化的核心是减少延迟,加速展现。初步以为是这个功能导致的服务挂起,询问相关操作人员,得到当时的操作过程。 最近阅读了很多优秀的网站性能优化的文章,所以自己也想总结一些最近优化的手段和方法。 个人感觉性能优化的核心是:减少延迟,加速展现。 本文主要从产品设计、前端、后端和网络四个...
摘要:继而取名红色警戒复兴。在经过了将近一年的蛰伏后,作为红色警戒复兴的联合创始人,终于有幸在今年月份见证他的第一次公开亮相。至此,我们初步断定,症结点在深层嵌套文档导致的数据多层寻址引发的。 前言 在2016年5月份的某一天,我和菠萝同学怀着对昔日《红警95》的缅怀之情,相约脱胎于开源项目OpenRA,来自制Server、Web、个人系统等,重现《红警95》的昔日光芒。继而取名《红色警戒:...
摘要:一发生故障今天发现服务查询一直卡住,就看了一下服务器当时就愣住了就这一个服务就把占满了,再看了下端口号出现了大量的。 一、发生故障 今天发现服务查询一直卡住,就看了一下服务器: showImg(https://segmentfault.com/img/bVbrL5i?w=842&h=57); 当时就愣住了就这一个服务就把CPU占满了,再看了下端口号: showImg(https://s...
阅读 3513·2023-04-25 20:09
阅读 3719·2022-06-28 19:00
阅读 3034·2022-06-28 19:00
阅读 3057·2022-06-28 19:00
阅读 3130·2022-06-28 19:00
阅读 2858·2022-06-28 19:00
阅读 3013·2022-06-28 19:00
阅读 2609·2022-06-28 19:00