ZFS and FreeNAS Performance

gigabit-ethernettruenaszfs

I have just set up an HP Micro Server N40L as a FreeNAS with 4 2tb drives in a RAIDZ. I am getting around 30-40MB/sec, with occasional bursts of 50MB/sec., reads and writes that are similar to the low end of that range. As far as I can tell the CPU is not overworked and when I did a file copy internally from one folder in the RAIDZ to another, I hit over 80MB/sec.

I am wondering what might be the best approach to improving read and write speeds. Tweaking my GigE network, adding a ZFS cache drive, etc.?

Best Answer

I have the same Server and same disks - the issue is using 4 disks in a RAIDZ1 Pool, using 3 or 5 disks is fine.

The recommendations for RAID-Z disk configurations:

  • Start a single-parity RAIDZ (raidz) configuration at 3 disks (2+1)
  • Start a double-parity RAIDZ (raidz2) configuration at 6 disks (4+2)
  • Start a triple-parity RAIDZ (raidz3) configuration at 9 disks (6+3) N+P) with P = 1 (raidz), 2 (raidz2), or 3 (raidz3) and N equals 2, 4, or 6
  • The recommended number of disks per group is between 3 and 9.
  • If you have more disks, use multiple groups.

from: http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#RAIDZ_Configuration_Requirements_and_Recommendations

This forum post http://forums.freenas.org/archive/index.php/t-5201.html originally pointed me in the right direction - I saw similar performance drop off when I built a 4 disk pool, keeping to 3 disks and it flew again.

I tend to get ~ 80MB/s over SMB/CIFS (if I'm lucky), but for shifting larger files I tend to use FTP and peak over 110MB/s.