美文网首页我爱编程
关于Mysql CPU占用过高的问题排查与优化

关于Mysql CPU占用过高的问题排查与优化

作者: shadowalkerwei | 来源:发表于2018-04-13 14:47 被阅读0次

    今天中午公司App出现网络错误无法请求数据的情况,登上阿里云看cpu使用率居然一直高达90+%,于是上服务器看究竟是哪个程序占用的,top一下,发现是mysql,下面就开始针对为什么会占用这么高的cpu问题着手解决。

    1、查询原因
    一般情况下,mysql占用过高多是有慢查询,但是打开my.cnf发现,之前的技术并没有打开慢查询日志,这里可以加上慢查询日志,然后重启mysql,等待日志。

    slow-query-log=1 # 慢查询:确认开启
    slow-query-log-file='/var/www/htmllog/slowlog.log' # 慢查询:日志文件及路径
    long_query_time = 3 # 慢查询:指定超过3s仍未完成的语句,为执行过慢的语句
    另一种方法是执行show PROCESSLIST语句,看哪条sql占用过多。

    2、mysql调优
    经过第一步之后判断有一条语句执行时间总是超过三秒,然后去看表结构的设计,有个where条件没加索引,暂时停掉httpd服务
    给字段加上索引,重启之后,慢查询日志里再无记录,问题解决。

    相关文章

      网友评论

        本文标题:关于Mysql CPU占用过高的问题排查与优化

        本文链接:https://www.haomeiwen.com/subject/cibckftx.html