案例分享:Mysql数据库cpu高消耗
本文作者:小本本

收到告警后,处理了1例mysql数据库cpu高消耗的案例,今天来复盘总结一下。
案例处理过程
1. 登陆服务器观察cpu使用率持续高消耗。
2. 登陆mysql数据库查询activesession会话信息。在查询结果中发现了大量+1与-1行为的操作,涉及的表只有1行数据,非常可疑。
3. 分析历史采集的qps与tps数据观察数据库负载上升情况。在观察数据中可以发现在9点钟左右数据库tps开始持续上升,与processlist中大量的+1行为SQL匹配,事务量出现异常上升。该数据来源与每分钟采集的com_select/com_insert/com_update/com_delete.Status值。
4. 通过与应用反馈,确认9点钟开始启动某秋季营销活动。SQL中的+1与-1是进行前端务调用计数行为。通过限流该模块后,数据库负载恢复正常,问题得到解决。
总结
虽然mysql中没有类似于Oracle的awr仓库进行历史负载情况分析,但是我们可以通过人工部署脚本定期采集mysql各种视图数据留存以便事后进行分析。
本文作者:胡杰(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6540.html
