基准测试工具Sysbench

编程

sysbeanch是跨平台的基准测试工具,支持多线程,支持多个服务器,主要包括以下几种测试:

1.cpu性能 2.磁盘IO性能  3.调度程序性能 4.内存分配及传输速度 5.POSIX线性性能  6.数据库性能

 

2.sysbench安装

安装依赖库:yum install -y automake libtool mysql-devel

开始安装:

进入sysbench目录

./autogen.sh

./configure   

#ERROR: cannot find MySQL libraries. If you want to compile with MySQL support 没找到mysql库 需要用参数指定下 --with-mysql-includes和--with-mysql-libs

查看mysql安装目录,mysql_config,再次执行

./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql

sysbench -version

 

3.测试

3.1压测磁盘IO

sysbench fileio help

sysbench的fileio测试需要经过prepare,run和clenup三个阶段

prepare准备阶段:sysbench --test=fileio --file-num=16 --file-total-size=2G prepare

run测试阶段: sysbench fileio --time=180 --events=100000000 --threads=16 --file-num=16 --file-total-size=2G --file-test-mode=rndrd --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 run

主要看磁盘IOPS和磁盘每秒速率

cleanup清空临时数据:sysbench fileio --file-num=16 --file-total-size=2G cleanup

 

3.2实现Mysql数据库的性能测试

注意事项:

1、测试数据库需要提前创建,以及测试账号拥有创建数据库的权限 --mysql-db指定测试的数据库,默认为sbtest

2、不要在Mysql服务器运行的机器上测试,一方面无法体现网络的影响,另一方面sysbench的运行会影响Mysql服务器的表现。

3、逐步增加客户端的并发连接数(--thread参数),观察在连接数不同情况下,Mysql服务器的表现

4、如果连续进行多次测试,注意确保之前测试的数据已经被清理干净了

5、如果生成的报告,图形化分析,可以通过gnuplot工具进行分析

 

数据准备阶段:

sysbench /usr/share/sysbench/oltp_insert.lua  --mysql-host=127.0.0.1  --mysql-port=3306 --mysql-user=root  --mysql-password="123456" --mysql-db=testsb --db-driver=mysql  --tables=15  --table-size=500000  --report-interval=10 --threads=128   --time=120 prepare

测试阶段:

sysbench /usr/share/sysbench/oltp_insert.lua  --mysql-host=127.0.0.1  --mysql-port=3306 --mysql-user=root  --mysql-password="123456" --mysql-db=testsb --db-driver=mysql  --tables=15  --table-size=500000  --report-interval=10 --threads=128   --time=120 run

主要的关注指标

response time avg:平均响应时间

transactions:TPS,如果使用了-skip-trx=on,则事务数为0,需要用total number of events除以总时间得到tps

queries:用它除以总时间,得到吞吐量QPS

 

清除数据:

sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=127.0.0.1  --mysql-port=3306 --mysql-user=root  --mysql-password="123456" --mysql-db=testsb --db-driver=mysql --tables=10 --table-size=1000000 --report-interval=10 --threads=128 --time=120 cleanup

 

 

3.3cpu测试(通常是对两台机器进行对比测试)

对素数的加法运算,指定最大质数发生器数量为20000

sysbench --test=cpu --cpu-max-prime=20000 run

 

3.4 对内存进行测试

在内存中传输10G的数据量,每个Block大小为8K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是 基准测试工具Sysbench 的全部内容, 来源链接: utcz.com/z/516037.html

回到顶部