国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫慢日志分析工具mysqlsla使用教程

2024-07-24 12:39:36
字體:
來源:轉載
供稿:網友

mysqlsla是一個慢日志分析工具了,我們可以把慢日志對過mysqlsla進行分析從而得出性能最差的sql語句了,下面我們一起來看看吧,mysqlsla是hackmysql.com推出的一款mysql的日志分析工具,功能非常強大,數據報表,非常有利于分析慢查詢的原因,包括執行頻率,數據量,查詢消耗等.

一、使用 mysqlsla -lt slow mysql-slow.log 或者 mysqlsla -lt slow mysql-slow.log -sf “+SELECT” -db dbName -top 10 -sort t_sum

參數意義

lt:表示日志類型,有slow, general, binary, msl, udl。

sf:[+-][type],[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如”+SELECT,INSERT”,不出現的默認是-,即不包括。

db:要處理哪個庫的日志。

top:表示取按規則排序的前多少條。

sort:按某種規則排序,t_sum按總時間排序, c_sum按總次數排序。

二、分析結果

總查詢次數(queries total),去重后的sql數量(unique),輸出報表的內容排序(sorted by),最重大的慢sql統計信息,包括 平均執行時間,等待鎖時間,結果行的總數,掃描的行總數.

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語句

三、安裝

方法一:從http://hackmysql.com/mysqlsla下載mysqlsla,當前最新版為:2.03

tar zxvf mysqlsla-2.03.tar.gz

cp mysqlsla-2.03/bin/mysqlsla /usr/local/bin

如果提示“Can’t locate DBI.pm”,執行以下命令:

yum install perl-DBI perl-DBD-MySQL -y

這時就可以使用mysqlsla了,用法如下:mysqlsla -lt slow slow.log

方法二:

  1. wgethttp://hackmysql.com/scripts/mysqlsla-2.03.tar.gz 
  2. # tar xzvf mysqlsla-2.03.tar.gz 
  3. mysqlsla-2.03/ 
  4. mysqlsla-2.03/Changes 
  5. mysqlsla-2.03/INSTALL 
  6. mysqlsla-2.03/README 
  7. mysqlsla-2.03/Makefile.PL 
  8. mysqlsla-2.03/bin/ 
  9. mysqlsla-2.03/bin/mysqlsla 
  10. mysqlsla-2.03/META.yml 
  11. mysqlsla-2.03/lib/ 
  12. mysqlsla-2.03/lib/mysqlsla.pm 
  13. mysqlsla-2.03/MANIFEST 
  14. # cd mysqlsla-2.03 
  15. # ll 
  16. 總計 68 
  17. drwxr-xr-x 2 1000 1000 4096 2008-11-11 bin 
  18. -rw-r–r– 1 1000 1000 5630 2008-11-11 Changes 
  19. -rw-r–r– 1 1000 1000 394 2008-07-13 INSTALL 
  20. drwxr-xr-x 2 1000 1000 4096 2008-11-11 lib 
  21. -rw-r–r– 1 1000 1000 389 2008-07-13 Makefile.PL 
  22. -rw-r–r– 1 1000 1000 152 2008-07-13 MANIFEST 
  23. -rw-r–r– 1 1000 1000 303 2008-11-11 META.yml 
  24. -rw-r–r– 1 1000 1000 1969 2008-11-11 README 
  25. # less INSTALL 
  26. Installing mysqlsla 
  27. =================== 
  28. perl Makefile.PL 
  29. make 
  30. make install 
  31. Depending on your system, the mysqlsla script will be copied to some common bin 
  32. directory (/usr/local/bin/ for example). Then you should be able to run it from 
  33. the command line like: mysqlsla -lt slow LOG 
  34. For quick help, man mysqlsla 
  35. For all documentation and guides, visit http://hackmysql.com/mysqlsla 
  36. # less Makefile.PL 
  37. use 5.008004; 
  38. use ExtUtils::MakeMaker; 
  39. WriteMakefile( 
  40. NAME => ‘mysqlsla’, 
  41. VERSION_FROM => ‘lib/mysqlsla.pm’, 
  42. PREREQ_PM => {}, 
  43. ($] >= 5.005 ? 
  44. (ABSTRACT_FROM => ‘lib/mysqlsla.pm’, # retrieve abstract from module 
  45. AUTHOR => ‘Daniel Nichter (http://hackmysql.com/contact)’) : ()), 
  46. EXE_FILES => [ 'bin/mysqlsla' ], 
  47. ); 
  48. # perl Makefile.PL 
  49. Checking if your kit is complete… 
  50. Looks good 
  51. Writing Makefile for mysqlsla 
  52. # ll 
  53. 總計 96 
  54. drwxr-xr-x 2 1000 1000 4096 2008-11-11 bin 
  55. -rw-r–r– 1 1000 1000 5630 2008-11-11 Changes 
  56. -rw-r–r– 1 1000 1000 394 2008-07-13 INSTALL 
  57. drwxr-xr-x 2 1000 1000 4096 2008-11-11 lib 
  58. -rw-r–r– 1 root root 22722 09-08 18:52 Makefile 
  59. -rw-r–r– 1 1000 1000 389 2008-07-13 Makefile.PL 
  60. -rw-r–r– 1 1000 1000 152 2008-07-13 MANIFEST 
  61. -rw-r–r– 1 1000 1000 303 2008-11-11 META.yml 
  62. -rw-r–r– 1 1000 1000 1969 2008-11-11 README 
  63. --Vevb.com 
  64. # make 
  65. cp lib/mysqlsla.pm blib/lib/mysqlsla.pm 
  66. cp bin/mysqlsla blib/script/mysqlsla 
  67. /usr/bin/perl “-MExtUtils::MY” -e “MY->fixin(shift)” blib/script/mysqlsla 
  68. Manifying blib/man3/mysqlsla.3pm 
  69. # make install 
  70. Installing /usr/lib/perl5/site_perl/5.8.8/mysqlsla.pm 
  71. Installing /usr/share/man/man3/mysqlsla.3pm 
  72. Installing /usr/bin/mysqlsla 
  73. Writing /usr/lib/perl5/site_perl/5.8.8/i386-Linux-thread-multi/auto/mysqlsla/.packlist 
  74. Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod 

默認將命令mysqlsla安裝到/usr/bin目錄,執行mysqlsla –help時提示沒有安裝DBI模塊,mysqlsla是用perl寫的,第一次通過CPAN安裝perl模塊時,需要進行相關的配置,大部分配置采用默認值,一路回車即可.

#perl -MCPAN -e Shell

然后在下面的各個詢問中可以改已經配置好的選項,然后執行下面的命令保存.

CPAN>reload index

CPAN>reload cpan

安裝DBI模塊:CPAN>install DBI

如果是第一次以后進入CPAN系統,想修改以前的配置,可以在CPAN命令行(即CPAN>)鍵入以下指令:

CPAN>o conf init

同時要執行下面的命令保存:

CPAN>reload index

CPAN>reload cpan

man mysqlsla可以看到mysqlsla的相關選項:

  1. # man mysqlsla 
  2. XXX 
  3. XXX WARNING: old character encoding and/or character set 
  4. XXX 
  5. mysqlsla(3) User Contributed Perl Documentation mysqlsla(3) 
  6. NAME 
  7. mysqlsla – Parse, filter, analyze and sort MySQL slow, general and binary logs 
  8. SYNOPSIS 
  9. # Basic operation: parse a MySQL slow or general log 
  10. mysqlsla –log-type slow LOG 
  11. mysqlsla –log-type general LOG 
  12. # Parse output from mysqlbinlog 
  13. # mysqlsla cannot directly parse binary logs 
  14. mysqlbinlog LOG │ mysqlsla –log-type binary - 
  15. # Parse a microslow patched slow log 
  16. mysqlsla –log-type msl LOG 
  17. # Replay a replay file 
  18. mysqlsla –replay FILE 
  19. # Parse a user-defined log specify its format 
  20. mysqlsla –log-type udl –udl-format FILE 
  21. # Let mysqlsla automatically determine the log type 
  22. mysqlsla LOG 
  23. DESCRIPTION 
  24. mysqlsla parses, filters, analyzes and sorts MySQL slow, general, binary and microslow patched slow logs. 
  25. It also supports user-defined logs. 
  26. This POD/man page is only a very brief outline of usage and command line options. For the full library of 
  27. mysqlsla documentation visithttp://hackmysql.com/mysqlsla. 
  28. # mysqlsla /tmp/mysqlslow.log | less 
  29. Auto-detected logs as slow logs 
  30. Report for slow logs: /tmp/mysqlslow.log 
  31. 6 queries total, 6 unique 
  32. Sorted by ‘t_sum’ 
  33. Grand Totals: Time 0 s, Lock 0 s, Rows sent 13, Rows Examined 13 
  34. ______________________________________________________________________ 001 ___ 
  35. Count : 1 (16.67%) 
  36. Time : 2.321 ms total, 2.321 ms avg, 2.321 ms to 2.321 ms max (47.20%) 
  37. Lock Time (s) : 629 ?s total, 629 ?s avg, 629 ?s to 629 ?s max (77.75%) 
  38. Rows sent : 8 avg, 8 to 8 max (61.54%) 
  39. Rows examined : 8 avg, 8 to 8 max (61.54%) 
  40. Database : 
  41. Users : 
  42. root@ 192.168.1.100 : 100.00% (1) of query, 100.00% (6) of all users 
  43. Query abstract: 
  44. SET timestamp=N; SHOW variables LIKE ‘S’; 
  45. Query sample: 
  46. SET timestamp=1252395365; 
  47. show variables like ‘%character%’; 
  48. …… 

格式說明如下:

總查詢次數(queries total),去重后的sql數量(unique),輸出報表的內容排序(sorted by),最重大的慢sql統計信息,包括平均執行時間,等待鎖時間,結果行的總數,掃描的行總數.

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語句

除了以上的輸出,官方還提供了很多定制化參數,是一款不可多得的好工具.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诸暨市| 昌邑市| 神农架林区| 万荣县| 明溪县| 宁化县| 许昌市| 蕉岭县| 武清区| 岳普湖县| 武安市| 静乐县| 贵州省| 科技| 漳州市| 句容市| 平乡县| 徐州市| 辉县市| 紫阳县| 万载县| 柳江县| 通州区| 察雅县| 宁明县| 崇阳县| 简阳市| 恩平市| 桐梓县| 泸溪县| 江孜县| 同德县| 武功县| 兰坪| 普格县| 莆田市| 陈巴尔虎旗| 祁阳县| 丽江市| 山西省| 抚顺县|