mysql 调优

最近发现mysql 服务器的cpu 使用率 经常保持在 99% 因为是 16核的机器,所以起初没太当回事,因为有其他更紧急的事情需要处理,就没有管他,后来有时间了,就静下心来执行的排查了下, 现在把排查的过程记录下来,作为比较。供以后查看

通过htop 命名 查看 mysql 的cpu 使用率 特别高
这里写图片描述

连上mysql 数据库 mysql -u root -p
使用 show processlist 查看当前连接数(这个只列出前100条,如果想全列出可以使用show full processlist;)

这里写图片描述

通过查询 发现 有一个select 语句出现的特别频繁,通过kill 命名杀掉后,服务器恢复正常。
kill 查询id
所以定位到了问题点,通过问题点,找到对应的功能,
功能是一个同步第三方数据的接口,需要实时扫描
1. 功能业务逻辑优化,采用降级的方式,降低数据同步的时间,由原来的30s 调整到120.
改完,发布,测试,发布,发现效果不是太好,cpu 占用率还是太高。所以感觉瓶颈可能不是出在这里。
2. sql 优化,发现sql 语句上面有 使用 * 这个字符串,把* 换成了 具体的属性 uid,但是部署上去测试的时候,发现 效果还是不太明显,cpu 使用率虽有降低,但是还是不行。
3. 最后 想着 是否可以通过添加索引来解决,
因为这是一张相对于其他操作来说,select 的操作比例要远远的大于其他操作,所以就尝试着建一个索引。
create index ilogin_name on tb_d_user(login_name) ;
建好后,测试下,发现cpu 使用率 马上就下去了。
这个问题暂时得以解决。

记录下 哈哈

最后贴一张战果图
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值