日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql mysqldumpslow_慢日志分析工具—mysqldumpslow 和 mysqlsla

發布時間:2025/3/12 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql mysqldumpslow_慢日志分析工具—mysqldumpslow 和 mysqlsla 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提:分析mysql性能的時候會查看數據庫的哪些sql語句有問題,效率低。這就用到了數據庫的慢查詢,作用就是: 它能記錄下所有執行超過long_query_time時間的SQL語句,幫你找到執行慢的SQL,方便我們對這些SQL進行優化。

1.配置慢查詢

在mysql客戶端執行

mysql> show variables like "%query%" ;

得到結果:

設置慢查詢.png

涉及參數解釋:

slow_query_log :是否開啟慢查詢,ON 開啟,OFF關閉

修改參數使用命令:

set global slow_query_log=ON; #開啟MySQL慢查詢功能

long_query_time :慢查詢時間設置,默認是10秒

slow_query_log_file :慢查詢日志存放路徑

還可以通過修改MySQL配置文件參數,開啟MySQL慢查詢。vi /etc/my.cnf ,在[mysqld]段添加以下代碼:

slow-query-log = on #開啟MySQL慢查詢功能

slow_query_log_file = /data/mysql/127-slow.log #設置MySQL慢查詢日志路徑

long_query_time = 5 #修改為記錄5秒內的查詢,默認不設置此參數為記錄10秒內的查詢

log-queries-not-using-indexes = on #記錄未使用索引的查詢

:wq! #保存退出

service mysqld restart #重啟MySQL服務

2.查看慢查詢日志

執行sql后就可以看到配置的路徑下面有日志生成了,對于得到的日志有2中方式可以對其分析,一是mysql自帶的 mysqldumpslow,另外一個是要獨自安裝的 mysqlsla,下面分別介紹一下。

2.1 mysqldumpslow 分析慢查詢日志

執行命令:

[root@chances126 /]# mysqldumpslow /var/lib/mysql/mysql-slow.log

得到的信息解釋:

主要功能是, 統計不同慢sql的

出現次數(Count),

執行最長時間(Time),

累計總耗費時間(Time),

等待鎖的時間(Lock),

發送給客戶端的行總數(Rows),

掃描的行總數(Rows),

用戶以及sql語句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示).

對我而言,看到返回的這一對信息,我是崩潰的,也沒有提示是哪個數據庫報的,一般一臺服務器有很多數據庫,這樣根本看不出來啊。我不偏愛這個工具,雖然他是不用安裝的。

2.2 mysqlsla 分析慢查詢日志

這個工具需要安裝,看下如何安裝吧。Linux如何安裝 mysqlsla

安裝好后,接下來就是使用了:

#查詢記錄最多的10條,可以指定具體的數據庫

mysqlsla -lt slow -sort t_sum -sf "+select,update,INSERT" -db hunaniptv -top 10 /var/lib/mysql/mysqld_slow.log

#查詢記錄最多的20個sql語句,并寫到select.log中去

mysqlsla -lt slow --sort t_sum --top 20 /data/mysql/127-slow.log >/tmp/select.log

#統計慢查詢文件為/data/mysql/127-slow.log的所有select的慢查詢sql,并顯示執行時間最長的100條sql,并寫到sql_select.log中去

mysqlsla -lt slow -sf "+select" -top 100 /data/mysql/127-slow.log >/tmp/sql_select.log

#統計慢查詢文件為/data/mysql/127-slow.log的數據庫為mydata的所有select和update的慢查詢sql,并查詢次數最多的100條sql,并寫到sql_num.sql中去

mysqlsla -lt slow -sf "+select,update" -top 100 -sort c_sum -db mydata /data/mysql/127-slow.log >/tmp/sql_num.log

得到的信息大概是這種樣子:

mysqlsla分析慢查詢.png

返回參數解釋:

Count, sql的執行次數及占總的slow log數量的百分比.

Time, 執行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間占到總慢sql時間的百分比.

95% of Time, 去除最快和最慢的sql, 覆蓋率占95%的sql的執行時間.

Lock Time, 等待鎖的時間.95% of Lock , 95%的慢sql等待鎖時間.Rows sent, 結果行統計數量, 包括平均, 最小, 最大數量.

Rows examined, 掃描的行數量.

Database, 屬于哪個[數據庫]

Users, 哪個用戶,IP, 占到所有用戶執行的sql百分比

Query abstract, 抽象后的sql語句

Query sample, sql語句

對于得到這個信息還可以進一步分析,就是登陸到mysql 的客戶端,登陸數據庫,執行 EXPLAIN查看sql具體的 type 信息。

[root@chances126 /]# mysql -uroot -pchances

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 141058

Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use sc_epg_release4

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> EXPLAIN select distinct a.* from EPG_CONTENT_SERIES a join EPG_CATEGORY_ITEM b on a.CONTENT_CODE = b.ITEM_CODE where a.ENABLE_STATUS=1 and b.STATUS=0 and a.EXTERNAL_CODE = '2000000200000010042000000006088';

+----+-------------+-------+------+---------------+-------------+---------+-----------------------------+-------+------------------------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-------+------+---------------+-------------+---------+-----------------------------+-------+------------------------------+

| 1 | SIMPLE | b | ALL | NULL | NULL | NULL | NULL | 28504 | Using where; Using temporary |

| 1 | SIMPLE | a | ref | seriesIndex | seriesIndex | 387 | sc_epg_release4.b.ITEM_CODE | 1 | Using where |

+----+-------------+-------+------+---------------+-------------+---------+-----------------------------+-------+------------------------------+

2 rows in set (0.00 sec)

mysql>

可以看出 a 表是全表查詢,b表級別是 ref ,可以進一步分析 sql 了。

性能從最好到最差:system、const、eq_reg、ref、range、index和ALL

如果看到性能不好,就可以把sql給研發去分析了。

總結

以上是生活随笔為你收集整理的mysql mysqldumpslow_慢日志分析工具—mysqldumpslow 和 mysqlsla的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性爱免费视频 | 久久日韩精品 | 最新中文字幕在线 | 国产黄色大全 | 久久这里只精品 | 亚洲一区精品视频在线观看 | 国产精品毛片久久 | 侵犯亲女在线播放视频 | 久久久黄色网 | 奇米影视第四色777 波多野结衣一区二区三区免费视频 | 日本一区二区三区在线视频 | 国产自产精品 | 国产做爰xxxⅹ高潮视频12p | 在线亚洲+欧美+日本专区 | 亚洲av无码精品色午夜 | 久久久福利 | av无码精品一区二区三区宅噜噜 | 夜夜艹 | 国产精品无码一区二区三区三 | 久久成人视屏 | 一区二区三区精品视频在线观看 | 人妻无码久久一区二区三区免费 | 青青草十七色 | 亚洲AV成人无码精品久久盆瓶 | 看黄网站在线观看 | 国产91丝袜在线播放九色 | 色宗合| a在线免费观看 | 制服丝袜在线第一页 | 国产美女永久无遮挡 | 欧美图片自拍偷拍 | 日本女人hd| 99精品一级欧美片免费播放 | 波多野吉衣在线视频 | www四虎精品视频免费网站 | 亚洲老女人视频 | 亚洲一区二三区 | 久久久久亚洲av成人网人人网站 | 国产精品传媒 | 狠狠干老司机 | 99热这里有精品 | 精品一区二区在线免费观看 | 日本黄色片段 | 在线视频免费观看 | 国产情侣激情自拍 | 牛牛影视免费观看 | 在线观看视频 | 欧美一区二区三区成人精品 | 亚洲一级伦理 | 欧美在线 | 国产在线伊人 | 激情欧美网站 | 日韩无套无码精品 | 色老大视频 | 欧美精品三级 | 国产精品香蕉国产 | 一区二区中文字幕 | 日韩中文字幕一区二区三区 | 欧美激情在线一区二区 | 色在线网站 | 波多野结衣乳巨码无在线观看 | 欧美888| 国产成人免费在线观看 | 亚洲爱爱网 | 国产精品视频久久久久久 | 色综合激情网 | 精品国产a| 国产免费黄色 | 亚洲精品久久久久久久久 | 麻豆av免费在线 | 国产精品久久久久久妇女 | 无码精品人妻一区二区三区湄公河 | 亚洲奶汁xxxx哺乳期 | 国产精品一二三四五区 | 日韩在线观看视频网站 | 裸体的日本在线观看 | 五月婷婷狠狠 | 女女百合高h喷汁呻吟玩具 www.亚洲一区 | 欧美性生活一区二区三区 | av成人在线看 | 精品国产自在精品国产精小说 | 久久久久久五月天 | 性感美女一级片 | 日本黄色录相 | 国模精品视频一区二区 | 黑人玩弄人妻一区二区绿帽子 | 中文字幕乱伦视频 | 久热网站 | 国产精品无码一区二区三区三 | 国内黄色片 | 日韩图色 | 亚洲国产av一区 | 成人免费大全 | 男人天堂手机在线观看 | 亚洲视频自拍偷拍 | 97无码精品人妻 | 姐姐av| 女生高潮视频在线观看 | 日韩中文字幕高清 |