最近,我利用sysbench对我们的机械硬盘和固态硬盘的iops、吞吐量进行了压测对比。
一、 环境
分别对SSD固态硬盘和机械硬盘进行压测;
分别在2G文件和8G文件上的进行压测;
分别对4k和16k两种数据块进行压测;
分别对seqrd(顺序读)、seqwr(顺序写)、rndrd(随机读)、rndwr(随机写)和rndrw(随机读写)5种模式进行压测。
二、sysbench的安装
1、下载sysbench-0.5.tar.gz
2、解压并安装
tar xzvf sysbench-0.5.tar.gz cd sysbench-0.5 chmod +x autogen.sh ./autogen.sh ./configure make make install
三、创建虚拟机
分别在固态硬盘和机械硬盘上创建相同配置的虚拟机,cpu和内存要相同。
四、用脚本压测
磁盘io自动测试脚本sysbench.sh:
#!/bin/sh set -u #当执行时使用到未定义过的变量,则显示错误信息。 set -x #执行指令后,会先显示该指令及所下的参数。 set -e #若指令传回值不等于0,则立即退出shell。 for size in 2G 8G;do for mode in seqrd seqwr rndrd rndwr rndrw;do for blksize in 4096 16384;do sysbench --test=fileio --file-num=64 --file-total-size=$size prepare for threads in 1 4 8 16 32;do echo "====== testing $blksize in $threads threads" echo PARAMS $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize for i in 1 2 3;do sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode