3

I have upgraded the drives in a 4 drive Raidz array in a NAS server and the array has auto expanded to the new size. In testing transfer rates from the NAS server now I observe that when performing large read transfers the performance is poor, struggling to get above 10MB/s although iotop and zpool iostat can report very high numbers up to 500MB/s What could be leading to this strange behaviour? As I have been upgrading the array I can also observe that it performs the same whether there are 4 devices online or degraded to 3.

The server is connected with a single gigabit network connection and can saturate it with a single drive using ext4

3
  • 10MB/s suggests 100Mbit network connectivity. You have not given any details about how you make the test and how you are connected to the nas.
    – Dan
    May 24, 2015 at 18:11
  • I should have mentioned that it's on a single gigabit connection, but that still doesn't explain how iostat reports far higher rates than is actually happening.
    – barrymac
    Jun 8, 2015 at 15:11
  • Are you sure the pool isn't currently performing a scrub or rebuild? Do 'zpool status -v' to check.
    – noitsbecky
    Jun 12, 2015 at 21:32

1 Answer 1

1

I found that I as I had been experimenting with cache settings to see what would happen I had left the primary cache switched off which can result in real IO being far greater than logical IO due to

[application] reads a file, gets 4k (pagesize?) of data and processes it, then it reads the next 4k, etc.

ZFS, however, cannot read just 4k. It reads 128k (recordsize) by default. Since there is no cache (you've turned it off) the rest of the data is thrown away.

128k / 4k = 32

32 x 2.44GB = 78.08GB

from FreeBSD forums

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .