My original nfstest script on OpenBSD was tweaked for use on Linux recently. While modifying the script, I realized that there were some shortcomings to my original script.
Rsync was the original transfer method; however, after some testing and research, I realized that this method may have a little more overhead than originally realized.
The overhead on rsync is minimal, however, I would prefer to conduct as accurate a test as theoretically possible.
While testing my FreeBSD NFS server with a Linux client, I realized that the bottleneck could very well be the server itself. The throughput I was getting was not nearly what I would expect to see. After some research, it was obvious that there were a few options available. This article is not about FreeBSD though, or I would go into more detail here. The simple answer is that I enabled
vfs.zfs.cache_flush_disable="1" in /boot/loader.conf. This small change nearly quadrupled my write speeds.
I will not be posting the raw script used to generate my results within this article, however, you can view it here.
Has been tested on OpenBSD 6.4