A while ago I wrote a post about ICMP latency: https://vskeeball.com/2021/09/14/ping-is-not-a-real-latency-measurement/. While we all conceptually understand this I recently helped build a testing framework to show a few types of tests running from AVS to Azure Native. Actually seeing the data brought home the points from the last post.
These tests were all run one right after the other TCP, UDP, then ICMP. They are sourced from a VMware VM in AVS with some tuning done to enable RSS, UDP RSS, and multiple transmit contexts. These setting are mainly for throughput (another part of the tests suite). What I found interesting it the large difference in ICMP vs TCP/UPD latency as well as the lack of correlations between the peaks and valleys of the tests. I’m not sure why the differences outside of “cloud networking.” These tests are not properly AZ aligned to provide the lowest numbers but are all sourced and destined to the same two VMs. Of course your mileage may vary widely so don’t take these as guaranteed performance numbers but more as a reason to not use ping as your latency measurement tool.