zoukankan      html  css  js  c++  java
  • 用sysbench压测MySQL,通过orzdba监控MySQL

    1.1 安装sysbench

    wget https://codeload.github.com/akopytov/sysbench/zip/0.5
    unzip 0.5 
    cd sysbench-0.5/
    ./autogen.sh
    ./configure --with-mysql-includes=/u01/my3306/include --with-mysqllibs=/u01/my3306/lib && make
    

    1.2 准备sysbench 压力测试

    # 准备数据 20个innodb表 
    /u01/sysbench-0.5/sysbench/sysbench  --test=/u01/sysbench-0.5/sysbench/tests/db/select.lua   --oltp-table-size=20000 --mysql-table-engine=innodb --mysql-user=root --mysql-password=root123   --mysql-port=3306 --mysql-host=127.0.0.1 --mysql-db=test --max-requests=0 --max-time=60   --oltp-tables-count=20 --report-interval=10 --num_threads=2 prepare
    
    
    
    
    
    #MySQL新建监控用户fish
    GRANT ALL PRIVILEGES ON *.* TO 'fish'@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON *.* TO 'fish'@'127.0.0.1' IDENTIFIED BY '' WITH GRANT OPTION;
    

    1.3安装orzdba

    代码SVN地址:http://code.taobao.org/p/orzdba/src/trunk/

    说明:Perl脚本,用于对Linux主机和MySQL相关指标进行实时监控。
    
    修改代码160行左右配置MySQL的相关验证信息,如username,password,host,port,sock等
    安装tcprstat
    安装orzdba_rt_depend_perl_module.tar.gz依赖包(version模块、Class-Data-Inheritable模块、Module-Build模块、
    File-Lockfile模块)
    
    vi orzdba
    #修改下面的行
    my $MYSQL    = qq{mysql -s --skip-column-names -ufish -P$port  };
    
    # orzdba 加上可执行权限
    chmod +x orzdba
    
    #运行orzdba
    ./orzdba -lazy
    
    1.4 sysbench压测
    /u01/sysbench-0.5/sysbench/sysbench  --test=/u01/sysbench-0.5/sysbench/tests/db/select.lua      --oltp-table-size=20000 --mysql-table-engine=innodb --mysql-user=root --mysql-password=root123      --mysql-port=3306  --mysql-host=127.0.0.1 --mysql-db=test  --max-requests=0 --max-time=60      --oltp-tables-count=20 --report-interval=10 --num_threads=2 run
    

    观察
    ./orzdba -lazy

    观察2监控InnoDB的性能指标
    ./orzdba -innodb -C 10 -i 1


    查看Linux主机指标
    ./orzdba -sys -C 10 -i 1 -t -d sda
    -sys:打印系统信息,包括-t(打印当前时间)、-l(打印负载信息,分1分钟、5分钟、15分钟)、-c(打印cpu信息)、-s(打印交换分区信息)
    -d:打印磁盘信息,需要指点磁盘设备名
    -n:打印网络信息,接收和发送大小,需要指点网卡设备名

    查看DISK(-d)和NET(-n)需要带具体的设备名(具体可以查看/proc/diskstats和/proc/net/dev中的设备或者可以取自iostat
    和sar -n DEV)
    
    linux指标的数据都来自/proc目录下的相关系统元数据:
    LOAD : /proc/loadavg
    CPU : /proc/stat
    SWAP : /proc/vmstat
    DISK : /proc/diskstats
    NET : /proc/net/dev
    

    监控MySQL Server性能
    ./orzdba -mysql -C 10 -i 1

  • 相关阅读:
    复制某文件夹及其子文件夹中的一定大小的文件
    一个简单的查询脚本
    写一个交互的脚本
    nginx+php5.6.12+discuz
    curl 错误
    python 交互界面tab补全
    uwsgi.xml
    supervisorctl
    认识nginx配置文件
    nginx+uwsgi+django 配置3
  • 原文地址:https://www.cnblogs.com/chinesern/p/7381033.html
Copyright © 2011-2022 走看看