linux VM与容器的存储IO测试
测试由KVM,vmwarm,virtualbox生产的VM和docker容器的存储IO性能:
测试过程:
1)分别在同一台物理机安装kvm和virtualbox的hypervisor,生产kvm,virtualbox的centos73最小化安装实例,在该物理机上安装docker运行centos73最小化安装容器实例;在另一台安装VMwarm的物理机环境生产一台centos73最小化安装实例。
2)在centos73最小化安装实例,配置本地源,安装测试工具。
3)分别在三个实例中运行测试脚本进行测试。
fio测试脚本
使用fio对三种io engine的六种文件访问模式进行iops测试。
定义的18种job如下
$ cat fio_jobs.ini
[global]
iodepth=1
direct=1
bs=16k
size=1G
thread=true
numjobs=1
group_reporting=true
[sync_read]
rw=read
--ioengine=sync
[sync_write]
rw=write
--ioengine=sync
[sync_rw]
rw=rw
rwmixread=70
--ioengine=sync
[sync_randread]
rw=randread
--ioengine=sync
[sync_randwrite]
rw=randwrite
--ioengine=sync
[sync_randrw]
rw=randrw
rwmixread=70
--ioengine=sync
[psync_read]
rw=read
--ioengine=psync
[psync_write]
rw=write
--ioengine=psync
[psync_rw]
rw=rw
rwmixread=70
--ioengine=psync
[psync_randread]
rw=randread
--ioengine=psync
[psync_randwrite]
rw=randwrite
--ioengine=psync
[psync_randrw]
rw=randrw
rwmixread=70
--ioengine=psync
[mmap_read]
rw=read
--ioengine=mmap
[mmap_write]
rw=write
--ioengine=mmap
[mmap_rw]
rw=rw
rwmixread=70
--ioengine=mmap
[mmap_randread]
rw=randread
--ioengine=mmap
[mmap_randwrite]
rw=randwrite
--ioengine=mmap
[mmap_randrw]
rw=randrw
rwmixread=70
--ioengine=mmap
$ fio fio_jobs.ini
iozone测试脚本
使用iozone可以对linux系统存储IO进行性能测试,结果以excel保存。iozone比fio测试更方便
$ iozone -Rbaz -g 2g output.xls
#-Rb 使用Excel显示结果、 -z同-a一起使用,进行全部测试、 -g 在自动模式下设置文件最大值,可以使用k m g分别表示kb,mb,gb。