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

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL數(shù)據(jù)庫(kù)慢日志分析工具mysqlsla使用教程詳情

2024-07-24 12:35:26
字體:
供稿:網(wǎng)友
  mysqlsla是一個(gè)慢日志分析工具了,我們可以把慢日志對(duì)過mysqlsla進(jìn)行分析從而得出性能最差的sql語(yǔ)句了,下面我們一起來看看吧,mysqlsla是hackmysql.com推出的一款mysql的日志分析工具,功能非常強(qiáng)大,數(shù)據(jù)報(bào)表,非常有利于分析慢查詢的原因,包括執(zhí)行頻率,數(shù)據(jù)量,查詢消耗等.
 
  一、使用 mysqlsla -lt slow mysql-slow.log 或者 mysqlsla -lt slow mysql-slow.log -sf “+SELECT” -db dbName -top 10 -sort t_sum
 
  參數(shù)意義
 
  lt:表示日志類型,有slow, general, binary, msl, udl。
 
  sf:[+-][type],[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如”+SELECT,INSERT”,不出現(xiàn)的默認(rèn)是-,即不包括。
 
  db:要處理哪個(gè)庫(kù)的日志。
 
  top:表示取按規(guī)則排序的前多少條。
 
  sort:按某種規(guī)則排序,t_sum按總時(shí)間排序, c_sum按總次數(shù)排序。
 
  二、分析結(jié)果
 
  總查詢次數(shù)(queries total),去重后的sql數(shù)量(unique),輸出報(bào)表的內(nèi)容排序(sorted by),最重大的慢sql統(tǒng)計(jì)信息,包括 平均執(zhí)行時(shí)間,等待鎖時(shí)間,結(jié)果行的總數(shù),掃描的行總數(shù).
 
  Count,sql的執(zhí)行次數(shù)及占總的slow log數(shù)量的百分比.
 
  time,執(zhí)行時(shí)間,包括總時(shí)間,平均時(shí)間,最小,最大時(shí)間,時(shí)間占到總慢sql時(shí)間的百分比.
 
  95% of Time,去除最快和最慢的sql,覆蓋率占95%的sql的執(zhí)行時(shí)間.
 
  Lock Time,等待鎖的時(shí)間.
 
  95% of Lock,95%的慢sql等待鎖時(shí)間.
 
  Rows sent,結(jié)果行統(tǒng)計(jì)數(shù)量,包括平均,最小,最大數(shù)量.
 
  Rows examined,掃描的行數(shù)量.
 
  Database,屬于哪個(gè)數(shù)據(jù)庫(kù)
 
  users,哪個(gè)用戶,ip,占到所有用戶執(zhí)行的sql百分比
 
  Query abstract,抽象后的sql語(yǔ)句
 
  Query sample,sql語(yǔ)句
 
  三、安裝
 
  方法一:從http://hackmysql.com/mysqlsla下載mysqlsla,當(dāng)前最新版為:2.03
 
  tar zxvf mysqlsla-2.03.tar.gz
 
  cp mysqlsla-2.03/bin/mysqlsla /usr/local/bin
 
  如果提示“Can’t locate DBI.pm”,執(zhí)行以下命令:
 
  yum install perl-DBI perl-DBD-MySQL -y
 
  這時(shí)就可以使用mysqlsla了,用法如下:mysqlsla -lt slow slow.log
 
  方法二:
 
  wgethttp://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
  # tar xzvf mysqlsla-2.03.tar.gz
  mysqlsla-2.03/
  mysqlsla-2.03/Changes
  mysqlsla-2.03/INSTALL
  mysqlsla-2.03/README
  mysqlsla-2.03/Makefile.PL
  mysqlsla-2.03/bin/
  mysqlsla-2.03/bin/mysqlsla
  mysqlsla-2.03/META.yml
  mysqlsla-2.03/lib/
  mysqlsla-2.03/lib/mysqlsla.pm
  mysqlsla-2.03/MANIFEST
  # cd mysqlsla-2.03
  # ll
  總計(jì) 68
  drwxr-xr-x 2 1000 1000 4096 2008-11-11 bin
  -rw-r–r– 1 1000 1000 5630 2008-11-11 Changes
  -rw-r–r– 1 1000 1000 394 2008-07-13 INSTALL
  drwxr-xr-x 2 1000 1000 4096 2008-11-11 lib
  -rw-r–r– 1 1000 1000 389 2008-07-13 Makefile.PL
  -rw-r–r– 1 1000 1000 152 2008-07-13 MANIFEST
  -rw-r–r– 1 1000 1000 303 2008-11-11 META.yml
  -rw-r–r– 1 1000 1000 1969 2008-11-11 README
  # less INSTALL
  Installing mysqlsla
  ===================
  perl Makefile.PL
  make
  make install
  Depending on your system, the mysqlsla script will be copied to some common bin
  directory (/usr/local/bin/ for example). Then you should be able to run it from
  the command line like: mysqlsla -lt slow LOG
  For quick help, man mysqlsla
  For all documentation and guides, visit http://hackmysql.com/mysqlsla
  # less Makefile.PL
  use 5.008004;
  use ExtUtils::MakeMaker;
  WriteMakefile(
  NAME => ‘mysqlsla’,
  VERSION_FROM => ‘lib/mysqlsla.pm’,
  PREREQ_PM => {},
  ($] >= 5.005 ?
  (ABSTRACT_FROM => ‘lib/mysqlsla.pm’, # retrieve abstract from module
  AUTHOR => ‘Daniel Nichter (http://hackmysql.com/contact)’) : ()),
  EXE_FILES => [ 'bin/mysqlsla' ],
  );
  # perl Makefile.PL
  Checking if your kit is complete…
  Looks good
  Writing Makefile for mysqlsla
  # ll
  總計(jì) 96
  drwxr-xr-x 2 1000 1000 4096 2008-11-11 bin
  -rw-r–r– 1 1000 1000 5630 2008-11-11 Changes
  -rw-r–r– 1 1000 1000 394 2008-07-13 INSTALL
  drwxr-xr-x 2 1000 1000 4096 2008-11-11 lib
  -rw-r–r– 1 root root 22722 09-08 18:52 Makefile
  -rw-r–r– 1 1000 1000 389 2008-07-13 Makefile.PL
  -rw-r–r– 1 1000 1000 152 2008-07-13 MANIFEST
  -rw-r–r– 1 1000 1000 303 2008-11-11 META.yml
  -rw-r–r– 1 1000 1000 1969 2008-11-11 README
  --phpfensi.com
  # make
  cp lib/mysqlsla.pm blib/lib/mysqlsla.pm
  cp bin/mysqlsla blib/script/mysqlsla
  /usr/bin/perl “-MExtUtils::MY” -e “MY->fixin(shift)” blib/script/mysqlsla
  Manifying blib/man3/mysqlsla.3pm
  # make install
  Installing /usr/lib/perl5/site_perl/5.8.8/mysqlsla.pm
  Installing /usr/share/man/man3/mysqlsla.3pm
  Installing /usr/bin/mysqlsla
  Writing /usr/lib/perl5/site_perl/5.8.8/i386-Linux-thread-multi/auto/mysqlsla/.packlist
  Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
  默認(rèn)將命令mysqlsla安裝到/usr/bin目錄,執(zhí)行mysqlsla –help時(shí)提示沒有安裝DBI模塊,mysqlsla是用perl寫的,第一次通過CPAN安裝perl模塊時(shí),需要進(jìn)行相關(guān)的配置,大部分配置采用默認(rèn)值,一路回車即可.
 
  #perl -MCPAN -e Shell
 
  然后在下面的各個(gè)詢問中可以改已經(jīng)配置好的選項(xiàng),然后執(zhí)行下面的命令保存.
 
  CPAN>reload index
 
  CPAN>reload cpan
 
  安裝DBI模塊:CPAN>install DBI
 
  如果是第一次以后進(jìn)入CPAN系統(tǒng),想修改以前的配置,可以在CPAN命令行(即CPAN>)鍵入以下指令:
 
  CPAN>o conf init
 
  同時(shí)要執(zhí)行下面的命令保存:
 
  CPAN>reload index
 
  CPAN>reload cpan
 
  man mysqlsla可以看到mysqlsla的相關(guān)選項(xiàng):
 
  # man mysqlsla
  XXX
  XXX WARNING: old character encoding and/or character set
  XXX
  mysqlsla(3) User Contributed Perl Documentation mysqlsla(3)
  NAME
  mysqlsla – Parse, filter, analyze and sort MySQL slow, general and binary logs
  SYNOPSIS
  # Basic operation: parse a MySQL slow or general log
  mysqlsla –log-type slow LOG
  mysqlsla –log-type general LOG
  # Parse output from mysqlbinlog
  # mysqlsla cannot directly parse binary logs
  mysqlbinlog LOG │ mysqlsla –log-type binary -
  # Parse a microslow patched slow log
  mysqlsla –log-type msl LOG
  # Replay a replay file
  mysqlsla –replay FILE
  # Parse a user-defined log specify its format
  mysqlsla –log-type udl –udl-format FILE
  # Let mysqlsla automatically determine the log type
  mysqlsla LOG
  DESCRIPTION
  mysqlsla parses, filters, analyzes and sorts MySQL slow, general, binary and microslow patched slow logs.
  It also supports user-defined logs.
  This POD/man page is only a very brief outline of usage and command line options. For the full library of
  mysqlsla documentation visithttp://hackmysql.com/mysqlsla.
  # mysqlsla /tmp/mysqlslow.log | less
  Auto-detected logs as slow logs
  Report for slow logs: /tmp/mysqlslow.log
  6 queries total, 6 unique
  Sorted by ‘t_sum’
  Grand Totals: Time 0 s, Lock 0 s, Rows sent 13, Rows Examined 13
  ______________________________________________________________________ 001 ___
  Count : 1 (16.67%)
  Time : 2.321 ms total, 2.321 ms avg, 2.321 ms to 2.321 ms max (47.20%)
  Lock Time (s) : 629 ?s total, 629 ?s avg, 629 ?s to 629 ?s max (77.75%)
  Rows sent : 8 avg, 8 to 8 max (61.54%)
  Rows examined : 8 avg, 8 to 8 max (61.54%)
  Database :
  Users :
  root@ 192.168.1.100 : 100.00% (1) of query, 100.00% (6) of all users
  Query abstract:
  SET timestamp=N; SHOW variables LIKE ‘S’;
  Query sample:
  SET timestamp=1252395365;
  show variables like ‘%character%’;
  ……
  格式說明如下:
 
  總查詢次數(shù)(queries total),去重后的sql數(shù)量(unique),輸出報(bào)表的內(nèi)容排序(sorted by),最重大的慢sql統(tǒng)計(jì)信息,包括平均執(zhí)行時(shí)間,等待鎖時(shí)間,結(jié)果行的總數(shù),掃描的行總數(shù).
 
  Count,sql的執(zhí)行次數(shù)及占總的slow log數(shù)量的百分比.
 
  Time,執(zhí)行時(shí)間,包括總時(shí)間,平均時(shí)間,最小,最大時(shí)間,時(shí)間占到總慢sql時(shí)間的百分比.
 
  95% of Time,去除最快和最慢的sql,覆蓋率占95%的sql的執(zhí)行時(shí)間.
 
  Lock Time,等待鎖的時(shí)間.
 
  95% of Lock,95%的慢sql等待鎖時(shí)間.
 
  Rows sent,結(jié)果行統(tǒng)計(jì)數(shù)量, 包括平均, 最小, 最大數(shù)量.
 
  Rows examined,掃描的行數(shù)量.
 
  Database,屬于哪個(gè)數(shù)據(jù)庫(kù)
 
  Users,哪個(gè)用戶,IP,占到所有用戶執(zhí)行的sql百分比
 
  Query abstract,抽象后的sql語(yǔ)句
 
  Query sample,sql語(yǔ)句
 
  除了以上的輸出,官方還提供了很多定制化參數(shù),是一款不可多得的好工具.
 
 

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长顺县| 商丘市| 东港市| 邵阳县| 汉中市| 会东县| 安义县| 绵竹市| 武穴市| 宁安市| 边坝县| 吉水县| 巴青县| 盘山县| 无锡市| 茌平县| 南康市| 元阳县| 白水县| 稻城县| 德化县| 桐梓县| 清新县| 汝城县| 化州市| 理塘县| 东方市| 双城市| 根河市| 眉山市| 河间市| 拉孜县| 巴林左旗| 酉阳| 青岛市| 罗江县| 嵊泗县| 花垣县| 蚌埠市| 梨树县| 锡林郭勒盟|