I guess the following is what you are alluding to?
"But from the point of view of a single application that issues a single write or read IO, then waits until it is complete, the time it will take will be the same for a mirrored vdev as for a single disk: Eventually it has to travel down one disk's path, there's no shortcut for that."
Well, as we have seen from the actual performance of read throughput then FreeNas obviously implements the mirror reads differently. As you could see in the screenshots above all 4 disks were read from at the same time through a single read request. Also the throughput was a multiple that of a single disk. And hence the time it took was also less than half. I am a very strong believer in numbers and statistics and numbers to me do not lie. I do not exactly know what FreeNas defines as a mirror and how it specifically implements operations on a mirror, especially on >2 way mirrors.
I have decided that I cannot spend more time profiling and I will most likely settle on the following solution:
As my primary operating environment is a local network with Windows machines, I decided to use the 4 disks in Windows Storage Spaces on my Windows Server and to set up a virtual disk that stripes across 4 columns. I also set up another 2 way mirror with 2 additional disks for resiliency purposes. I then use the application "GoodSync" to run a one-way backup in real-time between the striped virtual disk and the mirror virtual disk. I also use GoodSync to run a one-way backup job to keep a backup on the cloud in sync with the content of the mirror.
That gives me the following advantages:
* First and foremost, I keep things simple, things are running directly on my Windows Server, I do not need a virtualized environment anymore
* Then I get the foll advantage in terms of read performance from the striped volume (I can read at 640-650 megabytes per second from 4 mechanical disks)
* The mirror provides resiliency and is decoupled from the stripled volume , making future upgrades way easier than having it all in one
* And finally, not only do I get resiliency but also have I backed up my data in the cloud
* Last but not least, have I forgotten to mention that GoodSync offers full file versioning as well.
I am impressed though with FreeNas among all the other Linux based solutions I have tried (Nas4Free, OMV, Rockstor). Unfortunately this is not a hobby project but something that simply has to work and is supposed to protect some very important data, including work related data. I cannot spend more time on this side project.
Thanks all for your efforts to chime in and try to help with suggestions.
I think it might be useful for you to read this article:
https://constantin.glez.de/2010/06/04/a-closer-look-zfs-vdevs-and-performance/
Particularly the section titled:
Mirrored Performance Considerations
Basically it outlines why you are seeing more than 1 disk worth of performance, but less than 4.