In NSX environment identifying packet drops can require a considerable effort at times.
Here are some useful steps that I took when I recently ran into a situation where customer was experiencing packet drops.
If packets are dropping
If packet are dropping, adjust the virtual machine shares. If packets are not being dropped, check the size of the network packets (MTU) and the data receive and transfer rates. In general, the larger the network packets, the faster the network speed. When the packet size is large, fewer packets are transferred, which reduces the amount of CPU required to process the data. When network packets are small, more packets are transferred but the network speed is slower because more CPU is required to process the data.
Some steps to take,
Increase shares
If packets dropped in esxtop (DRPRX at switch port) increase the ring buffer. https://kb.vmware.com/s/article/1010071
Network
If packets are not dropping
If packets are not being dropped and the data receive rate is slow, the host is probably lacking the CPU resources required to handle the load. Check the number of virtual machines assigned to each physical NIC. If necessary, perform load balancing by moving virtual machines to different vSwitches or by adding more NICs to the host. You can also move virtual machines to another host or increase the host CPU or virtual machine CPU.
If network performance issue persists, following the steps in
If packets are dropping there can also be OOB (Out of buffer errors) which would indicate to increase the buffer size.
Additional:
Understanding TSO and LRO which could affect performance
Additional resource:
How to check Packet drops from ESXi host?
Method 1:
run esxtop, change to Network by pressing 'n' and then look for %DRPTX %DRPRX counters.
Method 2:
Run the command,
while true; date; do esxcli network nic stats get -n vmnic0 | grep "Receive packet
s dropped"; sleep 60; done
Comments