1.安装
在Debian/Ubuntu下
sudo apt-get install sysbench
在CentOS/Fedora下,可以通过EPEL安装
添加EPEL
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
yum -y update
Then install sysbench with yum:
yum install sysbench
Get an overview of sysbench options
Take a look at
man sysbench
CPU基准测试
sysbench --test=cpu --cpu-max-prime=20000 run
文件I/O 基准测试
文件I/O 基准测试可以测试系统在不同I/O负载下第二步,运行的性能。
第一步,生成测试用到的数据文件,生成的数据文件要比内存大。如果文件能放入内存中,则无法体现I/O密集型的工作负载。首先创建一个数据集。
sysbench --test=fileio --file-total-size=150G prepare
第二步,运行
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
其中,file-test-mode有以下几种测试选项
-
seqwr:顺序写入
-
seqrewr:顺序重写
-
seqrd:顺序读取
-
rndrd:随机读取
-
rdnrw:混合数据读/写
第三步,测试完成后,运行清除(CLEANUP)操作删除第一步生成的测试文件
sysbench --test=fileio --file-total-size=150G cleanup
OLTP基准测试(MYSQL测试)
OLTP基准测试模拟一个简单的mysql事务处理系统的工作负载。
第一步,准备数据
sysbench --test=oltp --oltp-table-size=1000000 --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword prepare
第二步,运行测试
sysbench --test=oltp --oltp-table-size=1000000 --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run
这个例子采用了8个并发线程,只读模式,测试时长60秒
测试结果包含许多信息,其中最有价值的是
-
总的事务数
-
每秒事务数
-
时间统计信息(最小,平均,最大响应时间,以及95%百分比响应时间)。
-
线程公平性统计信息(thread-fairness),用于表示模拟负载的公平性。
第三步,删除测试数
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run