On Tue, Dec 05, 2023 at 02:06:44PM +0000, Steven Surdock wrote:
Using an OBSD 7.4 VM on VMware as an NFS server on HOST02. It is primarily used to store VMWare VM backups from HOST01, so VMWare is the NFS client. I'm seeing transfers of about 1.2 MB/s.
Sounds about right. On a single (magnetic) disk, assume 200 ops/sec maximum, or about 5 kbyte per write op. Remember that NFS is synchronous. It is based on RPC, remote procedure calls. The call has to return a result to the client before the next call can happen. So your client (ESXi) is stuck at the synchronous write rate of your disk, which is governed by seek time and rotation rate. To confirm, run systat and note the "sec" measurement for your disk. It will likely be in the 0.5 to 1.0 range. This means your disk is 50% to 100% busy. And the speed is about 1MB/s. For improvement, use "-o noatime" on your exported partition mount. This reduces inode update IO. Or, try "-o async" if you want to live dangerously. Or, you could even try ext2 instead of ffs.....rumour has it that ext2 is faster. I don't know, never having tried it. Or use an SSD for your export partition. Or, crank up a copy of Linux and run NFS v4 server. That will definitely be faster than any NFS v3 server. V4 streams writes, to be very simplistic about it. (I think you already confirmed it's NFS v3 with TCP, not NFS v2. You should turn UDP off for reliability reasons, not performance.) J