基准测试工具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