测试环境
操作系统:ubuntu16.04
内核版本:
磁盘:
本人使用的是青云的云主机,磁盘使用的其性能型:
Cpu信息:
4核 2399MHz
内存:8G
文件系统:
本人使用的是ubuntu16.04系统中自带的zfs-fuse(需要手动执行安装)。
Zfs存储池配置:
Zfs默认的配置atime是on,secondarycache是all,通过如下方式修改配置(参考自zfs优化:http://www.tuicool.com/articles/UJJjmqy )
sudo zfs set secondarycache=none zfs-pool
sudo zfs set atime=off zfs-pool
测试工具
iozone(详细使用参考:http://www.cnblogs.com/jrun/archive/2012/09/29/2708778.html )
测试指令:iozone -Ra -I -+u -y 32k -q 16m -g 2G -n 2G -f /data-ext4/test -b /data-ext4/ext4.xls
l -R 用excel显示结果
l -a 全自动模式,记录测试块大小从4k到16M,测试文件从64k到512M
l -I对所有文件操作使用DIRECT I/O。通知文件系统所有操作跳过缓存直接在磁盘上操作
l -y 设置记录快最小值
l -q 在自动模式下设置记录块的最大值,可以使用#k(kb),#m(mb),#g(gb)。使用-y可以设置最小值
l -g 在自动模式下设置文件最大值,可以使用#k #m #g分别表示kb,mb,gb
l -n 设置自动模式下测试文件的最小值
-f filename指定用来测试临时文件,在测试完成后将被自动删
测试结果一:跳过缓存直接操作磁盘
iozone -Ra -I -+u -y 32k -q 16m -g 2G -n 2G -f /data-ext4/test -b /data-ext4/ext4.xls
从测试数据看:zfs读写性能落后ext4很多
ext4读写性能测试数据:
zfs文件系统读写性能
测试结果二:
sudo iozone -Ra -g 1G -n 1G -i 0 -i 1 -i 2 -i 8 -i 5 -f /data-ext4/test -b /data-ext4/ext4-bufer.xls
相比较第一次测试结果去掉参数-I,也就是利用文件系统缓冲能力,不直接操作磁盘。从测试结果可看出整体性能比开启-I参数测试高很多,对于zfs其读能力和ext4基本持平,写能力落后很多。