当前位置:首页 > CN2资讯 > 正文内容

用MySQL Slow Log解决MySQL CPU占用高的问题

4天前CN2资讯

在Linux VPS系统上有时候会发现MySQL占用CPU高,导致系统的负载比较高。这种情况很可能是某个SQL语句执行的时间太长导致的。优化一下这个SQL语句或者优化一下这个SQL引用的某个表的索引一般能解决问题。

但是怎么找到是哪个SQL语句的执行时间过长呢?可以通过MySQL Slow Log来找,详解如下。

首先找到MySQL的配置文件my.cnf,根据不同版本的mysql开启慢查询的配置也不一样


mysql 5.0

[mysqld]
long_query_time = 1
log-slow-queries = /var/log/mysql/slow.log


mysql 5.1

[mysqld]
long_query_time = 1
slow_query_log=1
slow_query_log_file = /var/log/mysql/slow.log


long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries和slow_query_log_file 设置把日志写在哪里


把上述参数打开,运行一段时间,就可以关掉了,省得影响生产环境

接下来就是分析了,我这里的文件名字叫 /var/log/mysql/slow.log。
先mysqldumpslow –help下,主要用的是


-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string

-s,是order的顺序,说明写的不够详细,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的


mysqldumpslow -s c -t 20 /var/log/mysql/slow.log
mysqldumpslow -s r -t 20 /var/log/mysql/slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。


mysqldumpslow -t 10 -s t -g “left join” /var/log/mysql/slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。

用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19900.html

    分享给朋友:

    “用MySQL Slow Log解决MySQL CPU占用高的问题” 的相关文章

    CN2 GIA:享受高效稳定的国际网络连接服务

    CN2 GIA 概述 CN2 GIA,即全球互联网接入,是由中国电信推出的一个国际专线网络服务。作为CN2系列服务中最顶尖的产品,CN2 GIA 主要面向那些需要稳定、快速国际网络连接的用户。设想一下,有多少次我们正在进行重要的商务沟通,却因为网络问题而中断。针对这样的需求,CN2 GIA无疑提供了...

    如何在VPS上启用和配置IPv6以提升网络性能

    在当今数字化的时代,互联网已经成为我们日常生活中不可或缺的一部分。随着设备和用户数量的快速增长,现有的IPv4地址开始捉襟见肘。这时,IPv6(Internet Protocol Version 6)应运而生,作为下一代互联网协议,它的出现可以说是一种必然趋势。IPv6不仅解决了IPv4地址耗尽的问...

    OVH云服务概述:高性价比的VPS与专用服务器解决方案

    OVH概述 谈到云服务提供商,OVH无疑是一个引人注意的名字。这家成立于1999年的法国公司,总部位于鲁贝,已经从当初的小公司发展成为全球领先的云服务平台。OVH不仅为个人和企业提供各种云计算解决方案,还持续推动技术创新,满足越来越多用户的需求。 OVH拥有广泛的服务网络,分布在北美、欧洲、亚洲和非...

    全面解读SFTP教程:安全文件传输的最佳实践

    什么是SFTP? 在计算机网络世界里,SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议。它的主要用途是通过安全的方式在网络中传输数据。与传统的FTP(File Transfer Protocol)相比,SFTP引入了数据加密机制,这样一来,用户在传输文件...

    AMD Ryzen VPS 性能测评:RackNerd 的优越体验与机房对比

    当我开始使用RackNerd的VPS服务时,我被它的低价和强大性能所吸引。作为一个刚入驻云计算的用户,我知道许多商家提供VPS,但RackNerd以十美元每年的超低价格引起了我的注意。而真正让我印象深刻的是它的稳定性与出色的售后服务。我曾多次遇到技术问题,售后支持总能在第一时间给我回应,这让我感受到...

    如何选择便宜的VPS:最佳性能与价格平衡的指南

    在谈论VPS之前,首先要弄清楚它究竟是什么。VPS,或称虚拟专用服务器(Virtual Private Server),是将一台物理服务器划分成多个虚拟服务器的技术。每个虚拟服务器都可以独立运行自己的操作系统,并且能够进行重新启动,这意味着你获得了一种与专用服务器相似的体验,但成本却比全功能的专用服...