zoukankan      html  css  js  c++  java
  • orzdba_性能医生

    orzdba_性能医生
    周万春
    
    
    orzdba是淘宝DBA团队开发的MySQL监控工具,使用Perl开发,可以完成对Linux系统和MySQL相关指标的实时监控,需要在MySQL实例所在主机运行orzdba。
    
    MYSQL这些监控指标的来源和mysqlreport等工具类似,都是通过show global variables;列出经常关注的核心变量,通过show global status;列出相关MYSQL状态信息。
    这个监控工具比较有特色,把系统信息和数据库信息一起监控,就是安装有点麻烦。
    
    [root@db01 ~]# wget http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
    [root@db01 ~]# cp -a tcprstat-static.v0.3.1.x86_64 /usr/bin/tcprstat
    [root@db01 ~]# chmod u+sx /usr/bin/tcprstat
    [root@db01 ~]# ls -l /usr/bin/tcprstat 
    -rwsr--r-- 1 root root 1183465 Aug 12  2010 /usr/bin/tcprstat
    
    
    [root@db01 ~]# vim /etc/hosts
    10.0.0.11 db01
    
    
    [root@db01 ~]# yum install perl-Test-Simple.x86_64 
    perl-Time-HiRes 
    perl-ExtUtils-CBuilder 
    perl-ExtUtils-MakeMaker 
    perl-DBD-MySQL perl-DBI 
    上传orzdba软件包
    [root@db01 ~]# git clone https://github.com/zhangchunsheng/orzdba
    [root@db01 ~]# tar -xf /disk/orzdba.tar.gz -C /root/
    [root@db01 ~]# cd orzdba/
    [root@db01 ~/orzdba]# chmod +x orzdba
    [root@db01 ~/orzdba]# tar -xf orzdba_rt_depend_perl_module.tar.gz
    [root@db01 ~/orzdba]# cd Perl_Module/
    [root@db01 ~/orzdba/Perl_Module]# ls -lh
    total 324K
    -rw-r--r-- 1 50640 users 5.6K Jan 25  2008 Class-Data-Inheritable-0.08.tar.gz
    -rw-r--r-- 1 50640 users 2.5K Aug  6  2010 File-Lockfile-v1.0.5.tar.gz
    -rw-r--r-- 1 50640 users 204K Dec 21  2008 Module-Build-0.31.tar.gz
    -rw-r--r-- 1 50640 users 105K Apr 27  2012 version-0.99.tar.gz
    
    
    安装version模块
    [root@db01 ~/orzdba/Perl_Module]# tar -xf version-0.99.tar.gz
    [root@db01 ~/orzdba/Perl_Module]# cd version-0.99
    [root@db01 ~/orzdba/Perl_Module/version-0.99]# perl Makefile.PL
    [root@db01 ~/orzdba/Perl_Module/version-0.99]# make
    [root@db01 ~/orzdba/Perl_Module/version-0.99]# make test
    [root@db01 ~/orzdba/Perl_Module/version-0.99]# make install
    
    
    安装Module-Build模块
    [root@db01 ~/orzdba/Perl_Module]# tar -xf Module-Build-0.31.tar.gz 
    [root@db01 ~/orzdba/Perl_Module]# cd Module-Build-0.31
    [root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# perl Build.PL
    [root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build
    [root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build test
    [root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build install
    
    
    安装File::Lockfile模块
    [root@db01 ~/orzdba/Perl_Module]# tar -xf File-Lockfile-v1.0.5.tar.gz 
    [root@db01 ~/orzdba/Perl_Module]# cd File-Lockfile-v1.0.5
    [root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl Build.PL
    [root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build
    [root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build test
    [root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build install
    
    
    安装Class-Data-Inheritable模块
    [root@db01 ~/orzdba/Perl_Module]# tar -xf Class-Data-Inheritable-0.08.tar.gz 
    [root@db01 ~/orzdba/Perl_Module]# cd Class-Data-Inheritable-0.08
    [root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# perl Makefile.PL
    [root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make
    [root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make test
    [root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make install
    
    
    配置登录密码
    在代码的160行左右,配置自己的MySQL验证信息:username、password、socket、host、port,建议配置--login-path=dba
    [root@db01 ~/orzdba]# vim orzdba
    my $MYSQL    = qq{mysql --login-path=dba -s --skip-column-names };
    
    
    [root@db01 ~/orzdba]# ./orzdba --help
    
    
    监控系统和MYSQL各项指标
    [root@db01 ~/orzdba]# ./orzdba -lazy -rt -S /data/mysql/mysql3306/sock/mysql.sock

    监控InnoDB的各项指标
    文档中给出[innodb请求命中率]的计算公式为:Hit% = (Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests * 100%
    [root@db01 ~/orzdba]# ./orzdba -innodb -S /data/mysql/mysql3306/sock/mysql.sock

    监控MySQL Server性能
    [root@db01 ~/orzdba]# ./orzdba -mysql -S /data/mysql/mysql3306/sock/mysql.sock

    Linux系统信息的监控
    [root@db01 ~/orzdba]# ./orzdba -sys

    查询数据库节点主机cpu,每两秒显示一次,共显示10次,将结果放到cpu.log中
    # ./orzdba -c -i 2 -C 10 -L cpu.log
  • 相关阅读:
    左右下划线,中间文字
    sql语言动词
    SQL语言的四个组成部分
    MySQL执行一条查询语句的内部执行过程
    07 | 行锁功过:怎么减少行锁对性能的影响?
    06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍?
    05 | 深入浅出索引(下)
    04 | 深入浅出索引(上)
    03 | 事务隔离:为什么你改了我还看不见?
    02 | 日志系统:一条SQL更新语句是如何执行的?
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/12945313.html
Copyright © 2011-2022 走看看