The nfsstat(1) utility may be of help in diagnosing the problem. As would consideration of mount options on the server, such as noatime and -- if your use-case permits it -- async.
- Per the mount_nfs(8) man page, the -r and -w mount options are knobs you twist when the NFS server reports dropped UDP fragments for read or write ops, respectively. Unless nfsstat(1) is reporting the issue, these knobs are unlikely to make a positive impact.
- The mount_nfs(8) man page suggests using -a (read ahead) for large sequential reads, particularly over bandwidth delayed networks. You might consider bumping this value up from the default to see if it makes any difference on read operations. Unfortunately, there's no "write ahead" equivalent due to the laws of physics. That is where async might improve performance if the possibility of data loss is acceptable for your use-case.