simple 与 --oltp-read-only 的区别
simple模式和在complex模式下开启read-only选项都只包含select语句。但是 simple 模式只包含最简单的select语句,相反地,complex 模式中,如果我们开启read-only 选项,即--oltp-read-only=on,则会包含复杂的SQL语句。如:
SELECT SUM(K) FROM sbtest WHERE id BETWEEN N and M
SELECT DISTINCT c FROM sbtest WHERE id BETWEEN N and M ORDER BY c
测试自有的存储引擎
测试自有的存储引擎需要告诉sysbench,这个存储引擎是否支持事务。
如下所示:
准备
sysbench --test=oltp --mysql-table-engine=tnt --mysql-engine-trx=yes \
--oltp-table-size=100000 --mysql-user=root --mysql-db=test \
--mysql-socket=/data/ntse/lmx/sysbench/var/mysqld.sock \
prepare
测试
sysbench --test=oltp --mysql-table-engine=tnt --mysql-engine-trx=yes \
--oltp-table-size=100000 --mysql-user=root --mysql-db=test \
--mysql-socket=/data/ntse/lmx/sysbench/var/mysqld.sock \
--oltp-test-mode=complex --num-threads=16 --max-time=720 \
--max-requests=0 run
清除
sysbench --test=oltp --mysql-table-engine=tnt --mysql-engine-trx=yes \
--oltp-table-size=100000 --mysql-user=root --mysql-db=test \
--mysql-socket=/data/ntse/lmx/sysbench/var/mysqld.sock \
clean
4. sysbench 0.5
4.1 下载安装
下载
bzr branch lp:sysbench
安装依赖库
sudo apt-get installlibtool
安装
tar -zxvf sysbench.tar.gz
cd sysbench
./autogen.sh
./configure
make
#make install #可选
开始测试
cd sysbench/sysbench
./sysbench --test=./tests/db/oltp.lua
--debug=yes \
--mysql-host=localhost \
--mysql-socket=PATH/mysqld.sock \
--mysql-db=test \
--mysql-table-engine=innodb \
--mysql-engine-trx=yes \
--mysql-user=root \
--max-requests=0 \
--max-time=60 \
--num-threads=16 \
--oltp-table-size=100000 \
--report-interval=10 [prepare|run|cleanup] |
解释
--debug 参数用以打印更加详细的调试信息
--report-interval 用以打印中间结果
除了测试oltp,sysbench 0.5还可以进行插入操作的性能测试(insert.lua),选择操作的性能测试(select.lua)等。