处理linux服务器cpu的wa%值过高

时近中午醒来,看了一下新闻,做了十几分钟的室内运动,洗澡之后发现脖子有点疼,可能昨晚睡觉给扭到了。下班街头看美女都不好扭脖子。现在项目急,每天更新,然后修bug.。出问题的风险也越来越高,7号公司网站就出现,响应很慢的情况,最后排除发现是机房出口带宽不够用了。囧,今天写周报,发现数据库服务器CPU的wa%值增加的很快,排查了一下,发现是mongodb的一个集合写入磁盘时间太慢,而且并发也挺高才导致的。

所以这篇日志是用来记录处理过程的。

 

1)Top命令查看一下,确认情况。

top

CPU1跟CPU8两个wa%值很高。

2)iotop –o 查看那些进程正在读写磁盘。

iotop

观察了一段时间发现读写数据量不大但是很频繁。

3)观察一下mongodb的日志看看是不是有类似mysql的慢查询操作

祭出强大的awk筛选出操作时间超过一秒的记录

1
#awk '!/authenticate/&&!/connection/{gsub(/ms/,"",$NF);if($NF>=1000){print$0}}' /var/log/mongdb.log

log

满屏幕的update操作,来自db_imaibo_live库下面的cs_combination_stock_log集合而且操作基本都在四秒以上。

4)上报朝廷。。。。跟开发工程师反应之后,了解到这个集合一天生成3万多的记录,现在总记录已经有280多万了,每次update都要先扫描整个集合,好悲伤的感觉。

5)商讨之后,备份集合,清理数据,调整业务逻辑,收工!

 

转载:http://blog.cxzlm.org/?p=478

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值