When there is intermittent network latency to a host, it’s important to monitor a it for a pattern. Using ping can help narrow down what is causing the latency. VMWare load, bandwidth limitations, employee work patterns, backups, and many other sources could be the cause of the latency.
while true; do j=`ping <slowhost> -i1 -c1 2>&1 | grep icmp_req | awk '{print $7}' | cut -d = -f2 | cut -d . -f1`; if [ $j -gt 30 ]; then date | tr '\n' ' '; echo $j; fi; sleep 1s; done;
This does a ping every second, and if it’s over a threshold (30ms in this case) it is considered unacceptable and logged with date.
account for timeouts
while true; do j=`ping -i1 -c1 2>&1 | grep icmp_req | awk ‘{print $7}’ | cut -d = -f2 | cut -d . -f1`; if [ “$j” == “” ]; then date | tr ‘\n’ ‘ ‘; echo ‘timed out’; elif [ $j -gt 40 ]; then date | tr ‘\n’ ‘ ‘; echo $j; fi; sleep 1s; done;