Hello,
I am free to FreeNAS and so far really like the product.
However, I try I am experiencing unexpectedly slow read performance from my HDDs.
Here my setup:
# FreeNas on VM within Hyper-V -> all installed perfectly fine and the setup was smooth
# 4x 4TB WD Re Enterprise disks (single disk sequential read performance = 170 megabytes/second) set up as 4way mirror in order to test striped read performance across all mirrors [the disks are passed through, not virtual disks nor is the controller passed through, just the physical drives]
# 1x Virtual Hard Disk that is stored on a server NVME drive (over 2 gigabyte/second read performance) for testing purposes -> set up in FreeNas as single stripe
# 10 Gbe network connected to 10Gbe Switch and Windows Lan
# Sharing over SMB
I see the following results:
# I stored some larger test files (I am interested in sequential read performance) on the NVME based virtual disk and then shared the dataset over SMB and tested to read sequentially.
-> The read speed is fantastic, with compression turned on it constantly hits the 10 gigabit/second mark, thus fully saturating the network, perfect, I could not wish for more. However, this was just to exclude any network bottlenecks, no bottlenecks, big check mark here!!!
# Next, I also stored files on the 4way mirror that is built on top of the 4x 4TB HDDs. Here, with compression enabled the read speed only reaches around 450 megabytes/second. Excluding any overhead the theoretical throughput should be 4x170 = 680 megabytes/second. I was at the very least hoping to gain a read performance of close to 600 megabytes/second especially with compression turned on because I have allocated quite some beefy CPUs to the virtual machine.
I know many will say that this is already a pretty good throughput. I agree, but it won't hurt to aim higher, right? So my question here is:
Are there any tunable parameters I can try out? What about the sector size? Where can I see what the sector size is that FreeNas set for the ZFS for the drives? Obviously the network can be excluded as bottleneck as described above. So I am very keen on learning what tunable parameters there are for mirrors and HDDs in particular.
Hoping to hear from some of you. By the way, I am Matt and as said I am pretty new to Freenas, and so far I really love the platform and also the community here.
Thanks for your ideas and suggestions.
I am free to FreeNAS and so far really like the product.
However, I try I am experiencing unexpectedly slow read performance from my HDDs.
Here my setup:
# FreeNas on VM within Hyper-V -> all installed perfectly fine and the setup was smooth
# 4x 4TB WD Re Enterprise disks (single disk sequential read performance = 170 megabytes/second) set up as 4way mirror in order to test striped read performance across all mirrors [the disks are passed through, not virtual disks nor is the controller passed through, just the physical drives]
# 1x Virtual Hard Disk that is stored on a server NVME drive (over 2 gigabyte/second read performance) for testing purposes -> set up in FreeNas as single stripe
# 10 Gbe network connected to 10Gbe Switch and Windows Lan
# Sharing over SMB
I see the following results:
# I stored some larger test files (I am interested in sequential read performance) on the NVME based virtual disk and then shared the dataset over SMB and tested to read sequentially.
-> The read speed is fantastic, with compression turned on it constantly hits the 10 gigabit/second mark, thus fully saturating the network, perfect, I could not wish for more. However, this was just to exclude any network bottlenecks, no bottlenecks, big check mark here!!!
# Next, I also stored files on the 4way mirror that is built on top of the 4x 4TB HDDs. Here, with compression enabled the read speed only reaches around 450 megabytes/second. Excluding any overhead the theoretical throughput should be 4x170 = 680 megabytes/second. I was at the very least hoping to gain a read performance of close to 600 megabytes/second especially with compression turned on because I have allocated quite some beefy CPUs to the virtual machine.
I know many will say that this is already a pretty good throughput. I agree, but it won't hurt to aim higher, right? So my question here is:
Are there any tunable parameters I can try out? What about the sector size? Where can I see what the sector size is that FreeNas set for the ZFS for the drives? Obviously the network can be excluded as bottleneck as described above. So I am very keen on learning what tunable parameters there are for mirrors and HDDs in particular.
Hoping to hear from some of you. By the way, I am Matt and as said I am pretty new to Freenas, and so far I really love the platform and also the community here.
Thanks for your ideas and suggestions.