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