I had to investigate an issue related to slow NFS writes from a VMWare Solaris VM.
To debug protocols issues you need to use of course TCP packet sniffers. So I started with the following test for Solaris:
Basically we create a 5MB file and transfer it via NFS. The file was taking two minutes to be transferred. The result from /tmp/capture uncovered a lot of DUP ACKs:
From a Linux box we then run something similar:
And then I confirmed it the write went fast and with no DUP ACK. After we shipped the issue to Infrastructure they found out the culprint to be the usage of a conflictive network adapter in VMWare. Using vmxnet3 network adapter looks to be the right option when it comes to supporting NFS traffic. No DUP ACK anymore.