Multiple Vdevs for "Aggregate" performance

Status
Not open for further replies.

Stanri010

Explorer
Joined
Apr 15, 2014
Messages
81
Can someone help explain the "aggregate" to me? Will a single copy and paste from a desktop to FreeNAS benefit from multiple vdevs? Is windows copy and paste a single stream operation or does the network transfer break it up into little bits that hit the NAS in parallel?

I'm considering two 6 drive raidz2 vdevs for a total of 12 drives.

Putting Vdevs Together
ZFS pools are always created out of one or more vdevs. When using more than one vdev, they're always striped.

Striping is good: ZFS will send reads and writes down to all the vdevs in parallel, maximizing throughput whenever it can.

Simply said: The more vdevs you stripe together, the faster your pool becomes in terms of aggregate bandwidth and aggregate IOPS, for both reads and writes.

Notice the caveat involved in the little word "aggregate": Your single little app waiting for its single IO to finish won't see a shorter wait time if your pool has many vdevs, because it'll get assigned only one of them.

"Aggregate" means here that the server as a whole will be able to sustain a higher load of IOPS and bandwidth altogether, across multiple parallel IO streams when using a pool with many vdevs.

How much higher? For n vdevs that make up your pool, it will be able to deliver n times the IOPS and n times the bandwidth of a single vdev (assuming all are equal etc.).
http://constantin.glez.de/blog/2010/06/closer-look-zfs-vdevs-and-performance#vdevperformance
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
Yes a single copy paste operation can benefit from multiple vdev if there are lots of small files in that copy paste. In the end your bottleneck is your network connection.

Sent from my Nexus 5X using Tapatalk
 

Stanri010

Explorer
Joined
Apr 15, 2014
Messages
81
I'm on a 10 gbe so the nas might actually be the bottleneck. For a single 10 gb file going across the network it won't get striped then?
 

Jailer

Not strong, but bad
Joined
Sep 12, 2014
Messages
4,977
ZFS puts it where it's most optimal. That may be on one vdev or spanned across both.

Your bottleneck will likely be the read performance of the drive(s) the original file resides on.
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
If you have 10gbit you will want to have multiple vdev. For example in my system when I had 8 drives in z2 got about 450MB/s write when it was new. Now I have 2 vdev with 8 disks and I get about 800MB/s write. This is with wd reds.

Sent from my Nexus 5X using Tapatalk
 

Stanri010

Explorer
Joined
Apr 15, 2014
Messages
81
I've got a few SSD's in raid 0 on my desktop and 10GBE connections on both the desktop and NAS. Connection throughput isn't going to be the issue.

I understand if I've got multiple files transferring in parallel will end up wherever the NAS decides to put it but my question is more specific to a single large file transfer. For a single 10GB video file going across the network, is FreeBSD smart enough to stripe it across vdevs, increasing write speeds?
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
I literally just explained this in the previous comment. It will usually get striped across multiple vdev.

Sent from my Nexus 5X using Tapatalk
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,874
Status
Not open for further replies.
Top