Improving small-file-performance for ZFS On Linux

1

1

I used mdadm (RAID 5) and ext4 before, I switched to ZFS On Linux (raidz) because of many reason. But when I working with small files, the performance is terrible. Only 7 MiB/s!?

How do I improved performance with the small files?

比尔盖子

Posted 2013-01-31T13:42:37.610

Reputation: 471

Answers

1

What RPM and how many disks are you using? These are primary concerns in how random I/O can be distributed across the disks. In RAID 5, if you have 4 disks you can actively utilize 3 of the disks performance. In ZFS with RAIDZ it can be highly dependent on the disks, their RPM and the systems specifications. Also, if depends if you are trying to use deduplication and/or compressionas these can highly impact the RAM and CPU requirements.

ZFS is an extremely tunable file system. That is why we use it for our main online storage systems. You are most likely better off mirroring disks instead of using RAIDZ due to the calculations. Yes, you will lose more space but the performance benefits should outweigh the loss.

Also, this should most likely have been posted in ServerFault instead of SuperUser due to the nature of the users on each site.

Myles Steinhauser

Posted 2013-01-31T13:42:37.610

Reputation: 26

I am using three WD Caviar Black with 7200 RPM. Any suggestion? – 比尔盖子 – 2013-02-24T05:17:57.453

Then that is most likely you actual issues. 7200 RPM SATA disks generally can only support 75-100 IOPS per disk. RAIDZ causes more disk IO than simple RAID because of how the comparison and block information is stored.

For ZFS, use a mirror instead of raidz. Yes, you lose more space but you still get all of the ZFS features without the IO bottleneck. – Myles Steinhauser – 2013-04-02T16:27:30.747