sysbench的官方网站:
下载地址(可以找到各种版本):
sysbench官方文档,非常详细,强力推荐
最基本的编译选项:
./configure --prefix=/home/mysql5/sysbench --without-mysql
暂时没有编译mysql支持
sysbench的测试主要包括以下几个方面:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)...
可以测试raid0,raid5,raid10分别作为数据库主库和从库时候的性能,不用自己写测试用例...
sysbench的命令选项
prepare---准备
Performs preparative actions for those tests which need them, e.g. creating the necessary files on disk for the fileio test, or filling the test database for the oltp test.
run---实际执行
Runs the actual test specified with the --test=name option.
cleanup---打扫环境
Removes temporary data after the test run in those tests which create one.
help---寻求帮助
Displays usage information for a test specified with the --test=name option.
测试1 CPU测试
寻找最大的素数,测试cpu的性能:
./sysbench --num-threads=3 --max-requests=80 --test=cpu --debug --cpu-max-prime=200000 run
测试2 threads测试
./sysbench --num-threads=3 --max-requests=80 --test=threads --debug run
sysbench v0.4.8: multi-threaded system evaluation benchmark
测试3 文件IO性能测试
Usage example:
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw prepare
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw run
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw cleanup
创建128个文件,总大小为3G,此为准备工作;然后执行随机的读写测试,最后清理现场.
io操作的分类大致如下:
seqwr
sequential write
seqrewr
sequential rewrite
seqrd
sequential read
rndrd
random read
rndwr
random write
rndrw
combined random read/write
测试4 Mutex测试
./sysbench --num-threads=3 --max-requests=80 --test=mutex run
测试5 内存测试
./sysbench --num-threads=3 --max-requests=80 --test=memory --memory-total-size=2G --memory-oper=read run
测试6 MySQL数据库测试
$ sysbench --test=oltp --mysql-table-type=myisam --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock prepare
$ sysbench --num-threads=16 --max-requests=100000 --test=oltp --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --oltp-read-only run
先创建数据库,然后写入1M的记录.然后用16个客户端执行100000个请求,测试oltp性能.