I'm a happy FreeBSD user and have decided to dig into ZFS a bit more.
My current setup is as follows;
- Intel E7400 @ 2.8GHz
- MSI P43 mainboard
- 4GB of DDR2 PC6400 ram
- 2x WDC WD1200JD (120GB each, SATA-150) in a simple ZFS storage pool
- 5x WDC WD10EADS (1TB each, SATA-300) in a RAIDZ1 storage pool
the first two are connected to a JMicron onboard SATA controller, the latter 5 to the Intel ICH10R onboard controller.
I'm running FreeBSD 8.0 with ZFS 13.
The last few days I've tried to optimize my ZFS performance as much as I could. loader.conf has been extended with the following ZFS-related settings;
Write tests have been performed on both pools by using the following command:
Read tests have been performed by using the following command:
After running these commands 5 times on both pools, I got the following (best-case) results:
on zpool "tank" (2x WDC WD1200JD):
on zpool "data" (5x WDC WD10EADS):
I do understand that reads are heavily impacted by caching and as such create these tremendous results. (initial runs always around 140MB/sec for zpool "tank" and 230MB/sec for zpool "data", so that's fine).
What I don't understand is why the write performance seems "capped" at 67-68MB/sec, regardless of the storage pool. To me, i'd be happy if this would be the performance from a single SATA-300 disk, but in this particular case, I'm not too excited about the results.
What could be the possible causes of this limitation, and in what direction should I search to increase performance? I've been searching this forum in ZFS write performance related topics but could find little. I hope you can help...
Looking forward to your thoughts!
Maurice
My current setup is as follows;
- Intel E7400 @ 2.8GHz
- MSI P43 mainboard
- 4GB of DDR2 PC6400 ram
- 2x WDC WD1200JD (120GB each, SATA-150) in a simple ZFS storage pool
- 5x WDC WD10EADS (1TB each, SATA-300) in a RAIDZ1 storage pool
the first two are connected to a JMicron onboard SATA controller, the latter 5 to the Intel ICH10R onboard controller.
I'm running FreeBSD 8.0 with ZFS 13.
The last few days I've tried to optimize my ZFS performance as much as I could. loader.conf has been extended with the following ZFS-related settings;
Code:
vfs.zfs.prefetch_disable=0
vm.kmem_size="2048M"
vfs.zfs.arc_min="1024M"
vfs.zfs.arc_max="1536M"
vfs.zfs.vdev.min_pending=2
vfs.zfs.vdev.max_pending=8
vfs.zfs.txg.timeout=5
Write tests have been performed on both pools by using the following command:
Code:
dd if=/dev/random of=./file1 bs=1M count=1024
Read tests have been performed by using the following command:
Code:
dd if=./file1 of=/dev/null bs=1M count=1024
After running these commands 5 times on both pools, I got the following (best-case) results:
on zpool "tank" (2x WDC WD1200JD):
Code:
Write: 68.050.720 bytes/sec (e.g. 68MB/sec approx)
Read: 4.338.138.680 bytes/sec (e.g. 4.3GB/sec approx)
Code:
Write: 67.108.264 bytes/sec (e.g. 67MB/sec approx)
Read: 5.004.572.331 bytes/sec (e.g. 5.0GB/sec approx)
I do understand that reads are heavily impacted by caching and as such create these tremendous results. (initial runs always around 140MB/sec for zpool "tank" and 230MB/sec for zpool "data", so that's fine).
What I don't understand is why the write performance seems "capped" at 67-68MB/sec, regardless of the storage pool. To me, i'd be happy if this would be the performance from a single SATA-300 disk, but in this particular case, I'm not too excited about the results.
What could be the possible causes of this limitation, and in what direction should I search to increase performance? I've been searching this forum in ZFS write performance related topics but could find little. I hope you can help...
Looking forward to your thoughts!
Maurice