Hi, I am running a new installation of TrueNAS Community Edition on my Proxmox host for testing purposes.
I already had problems with the speed of the NFS connection on my ‘old’ system (Core, on standalone hardware), so I have now installed the new system on a trial basis.
I have currently set up a pool of two hard drives. I have created two datasets on this pool. One for the NFS share and one for the SMB share.
When I connect via SMB and run a FIO test, I get a transfer rate of around 250 MB/s, which is fine. When I run the FIO test with the NFS share, I only get 7462 kB/s.
Are you doing sync writes to the NFS share ?
The difference seems to be a bit too extreme, but try disabling sync writes in the options of the dataset.
SMB is async NFS can be sync or async. If you don’t need your NFS client to sync writes then you can either disable sync on the dataset as @Farout has already said or tell your client not to mount sync.
IIRC, Time Machine backups desire sync over SMB. Ditto some database operations.
Presumably, the file system is smart enough to let most stuff transfer on a async basis and only uses sync transactions when it’s required by the SMB user (ie Time Machine)?