--对于InnoDB存储引擎的数据库来说,我们可能更关心的是磁盘和OLTP的性能,因此主要是fileio和oltp这两个项目的测试, 对于磁盘的测试, sysbench提供了一下的测试选项
 
sysbench --test=fileio help
 
--file-num 生成测试文件的数量,默认是128
 
--file-block-size 测试期间文件块的大小,如果你想磁盘针对InnoDB存储引擎进行测试, 可以将其设置为16384,即InnoDB存储引擎的大小,默认是16384
 
--file-total-size 每个文件的大小,默认是2GB
 
--file-test-mode   文件测试模式,包含seqwr(顺序写)、seqrewr(顺序读写)、seqrd(顺序读)、rndrd(随即读)、rndwr(随机写)、rndrw(随机读写)
 
--file-io-mode   文件操作模式,同步还是异步,默认是同步
 
--file-fsync-all 每执行完一次写操作,就执行一次fsync,默认是off
 
sysbench的fileio测试需要经过prepare、run、clean三个阶段,prepare是准备阶段,生成我们需要的测试文件,run是实际测试阶段,cleanup是清理测试产生的文件,
 
--prepare
sysbench --test=fileio --file-num=16 --file-total-size=2G prepare 生成16个测试文件,总大小为2G
 
sysbench --test=fileio --file-total-size=20G --file-test-mode=rndrd --max-time=300 --max-requests=1000000000 --num-threads=16 --init-rng=on --file-num=16 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 run
 
上述测试的最大随机读取请求时1000 000 000次,如果在300秒内不能完成,测试即结束
 
实例
 
随即读