fio测试时能达到ssd理论性的20~30%,经过zol提供给kvm虚拟机之后(virtio + xfs)还能有10%的性能,也就是5K的随机写,比下面的SATA(300/200的级别)强太多了。
但ssd只是一块240g intel 730,理论读写 86k/56k iops,不知道更高端的pcie的ssd会不会碰到zfs的瓶颈。
kernel 2.6.32, zfs on linux 0.6.3。
传说flashcache的新版本能更接近原生ssd,但是没试过,尤其不知道其writeback的可靠性如何。
具体结果
read : io=6345.7MB, bw=64975KB/s, iops=4060 , runt=100007msec
write: io=2722.7MB, bw=27878KB/s, iops=1742 , runt=100007msec
命令行没有 -direct=1 因为zfs on linux还不支持。
fio -filename=test.data -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=100 -group_reporting -name=zfs_with_ssdwil
如果jobs设到128, 读写大致 15k/6k。256时,22k/9k,但是波动比较大了。
原来拿sysbench测试时,单独写上限是11~12k的样子。
如果是虚拟机,kvm on zvol,guest是centos 7.1,virtio驱动,xfs,写iops在5k左右。
zfs相关设置:
ssd: sda/sdb 730
SATA: sdc/sdd 3T 7200转 做mirror
打开了压缩(lz4),sync设为always,两个SATA磁盘的写缓存关了。
(更新!: 关掉lz4没这么漂亮了,64~128 jobs的时候读写分别5k/2k,256时还下降到3k/1.2k。但是虚拟机里面无变化。)
机器就是一个简单的 1231 v3 + 32G ECC内存。
root@pve:~/tmp# zpool status rpool
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc3 ONLINE 0 0 0
sdd3 ONLINE 0 0 0
logs
sdb ONLINE 0 0 0
cache
sda ONLINE 0 0 0
errors: No known data errors
root@pve:~/tmp# zfs get sync rpool
NAME PROPERTY VALUE SOURCE
rpool sync always local
root@pve:~/tmp# hdparm -W /dev/sdc
/dev/sdc:
write-caching = 0 (off)
root@pve:~/tmp# hdparm -W /dev/sdd
/dev/sdd:
write-caching = 0 (off)
root@pve:~/tmp# zfs get compress rpool
NAME PROPERTY VALUE SOURCE
rpool compression lz4 local
但ssd只是一块240g intel 730,理论读写 86k/56k iops,不知道更高端的pcie的ssd会不会碰到zfs的瓶颈。
kernel 2.6.32, zfs on linux 0.6.3。
传说flashcache的新版本能更接近原生ssd,但是没试过,尤其不知道其writeback的可靠性如何。
具体结果
read : io=6345.7MB, bw=64975KB/s, iops=4060 , runt=100007msec
write: io=2722.7MB, bw=27878KB/s, iops=1742 , runt=100007msec
命令行没有 -direct=1 因为zfs on linux还不支持。
fio -filename=test.data -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=100 -group_reporting -name=zfs_with_ssdwil
如果jobs设到128, 读写大致 15k/6k。256时,22k/9k,但是波动比较大了。
原来拿sysbench测试时,单独写上限是11~12k的样子。
如果是虚拟机,kvm on zvol,guest是centos 7.1,virtio驱动,xfs,写iops在5k左右。
zfs相关设置:
ssd: sda/sdb 730
SATA: sdc/sdd 3T 7200转 做mirror
打开了压缩(lz4),sync设为always,两个SATA磁盘的写缓存关了。
(更新!: 关掉lz4没这么漂亮了,64~128 jobs的时候读写分别5k/2k,256时还下降到3k/1.2k。但是虚拟机里面无变化。)
机器就是一个简单的 1231 v3 + 32G ECC内存。
root@pve:~/tmp# zpool status rpool
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc3 ONLINE 0 0 0
sdd3 ONLINE 0 0 0
logs
sdb ONLINE 0 0 0
cache
sda ONLINE 0 0 0
errors: No known data errors
root@pve:~/tmp# zfs get sync rpool
NAME PROPERTY VALUE SOURCE
rpool sync always local
root@pve:~/tmp# hdparm -W /dev/sdc
/dev/sdc:
write-caching = 0 (off)
root@pve:~/tmp# hdparm -W /dev/sdd
/dev/sdd:
write-caching = 0 (off)
root@pve:~/tmp# zfs get compress rpool
NAME PROPERTY VALUE SOURCE
rpool compression lz4 local