I have a ZFS RAIDz (RAID5) array of three 7200RPM SATA2 drives in a FreeNAS virtual machine. I have multiple machines connected to this VM over a gigabit network. I'm seeing via bandwidth graphs that the gigabit network is never more than 10% saturated even when I copy a very large file off the RAID array. The peak speed I see is around 103 mbit/sec.

iperf between the clients and the server gives between 895 and 900 Mbit/sec.

Shouldn't the read speed of a RAID5 array of 3 SATA2 7200RPM hard disk drives be able to nearly saturate a gigabit ethernet link?

  • What is the peek speed of a single non RAID drive, that value X 3 is the theoretical max you could get out of the system. – Scott Chamberlain Jun 20 '13 at 19:27
  • 1
    x3 is being awfully generous... – Keltari Jun 20 '13 at 19:30
  • as I said theoretical max, as in "it is impossible for the technology to be above this number ignoring overhead, so if the single drive speed x3 is less than 1GB you will never saturate" – Scott Chamberlain Jun 20 '13 at 19:49

3-drive RAIDZ will only give you 2x drive's peak throughput. So, ZFS array should be able to provide enough bandwidth to saturate GigE interface. The question is -- what serves that data over the network in your case?

If it's samba, you do need to tweak it quite a bit in order to get decent throughput from it. In my case on FreeBSD, enabling aio and SMB2 made huge difference.

Also make sure you do have more than 4GB of RAM. With 4GB of RAM or less, FreeBSD (and, probably, FreeNAS) will disable data prefetching which will noticeably degrade samba performance, especially when SMB2 is not enabled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.