03-06-2017 03:17 PM - edited 03-08-2019 09:38 AM
Dear All,
I'm an application guy (not infra/network), who needs to explain certain performance degradation in an application.
Our application is quite sensitive to the the latency in general. Needs to be based on LAN with minimum latency less than 4ms.
(that's the system requirements)
We suspect that some performance degradation happens due to the network peaks.
In addition we discovered that when the system is accessed through some application servers, the performance is always slightly worst.
When analyzing this further we discovered that tracert shows completely different results.
For example from "Normal" application server to SQL server, always 2 hops, with RTT < 1 ms on both. Look OK.
When we do the same from the "Slower" application server, we get on the first hop 2-3 ms, which sometimes degrades to 5 or 7 ms.
(We didn't put periodic monitoring behind that but I'm quite sure this degrades even more)
But what is completely strange for me is that the default ping normally shows < 1 ms from both servers.
To sum up, I have the following list of questions, puzzling me a lot:
1. Could you please provide your thoughts on how can it be that default ping shows <1ms, while tracert shows RTT up to 7ms at the same time?
2. Can such RTT itself be an sign of bad/not optimal latency?
3. What is the relation between latency and RTT? Can we say that in case RTT is high - the latency is also high?
4. What better represents latency? RTT (tracert) or (latency) ping.
Thanks in advance for your suggestions.
Sasha.
03-06-2017 03:52 PM
1 Could you please provide your thoughts on how can it be that default ping shows <1ms, while tracert shows RTT up to 7ms at the same time?
where the two done at exactly the same time? because traceoute uses PING/ICMP with an increased hop TTL
2. Can such RTT itself be an sign of bad/not optimal latency?
Yes, but it is by no means a good test to test your application. If you consider the OSI model, ICMP sits at layer 3 of it, this means you can only test latency up to layer 3 of the OSI model, your SQL application, sits all the way at layer 7, so if you really want to test the responsiveness of your application; PING is not the tool to use
3. What is the relation between latency and RTT? Can we say that in case RTT is high - the latency is also high?
Time, is the relation between the two, latency if typically, the time it takes before a packet actually gets 'put on the wire" so this would include the time a packet is queued before the transfer out of the device takes place.
4. What better represents latency? RTT (tracert) or (latency) ping.
ping/ICMP is essentially the same as traceroute, or i should say, traceroute uses ping/ICMP with an increasing TTL until it uses the destination. so I would use ping to ilustrate RTT between start and endpoint, traceroute is useful brake up the path between start and endpoint.
03-07-2017 12:40 AM
Dear Dennis,
Thanks a lot for your answer.
1. where the two done at exactly the same time? because traceoute uses PING/ICMP with an increased hop TTL
Yes, they are. Taken many times and result is always the same.
Ping shows < 1 ms....
Tracert on the hop 1: 2 ms| 3 ms| 3 ms, on the hop 2: < 1 ms| < 1 ms| <1 ms;
So basically, to reach the gateway RTT is shown as 2-3 ms, then from gateway to the destination server, it's shown as < 1ms. (as mentioned earlier, 1st Hop RTT is growing and sometimes we saw even 7 ms)
2. Yes, but it is by no means a good test to test your application. If you consider the OSI model, ICMP sits at layer 3 of it, this means you can only test latency up to layer 3 of the OSI model, your SQL application, sits all the way at layer 7, so if you really want to test the responsiveness of your application; PING is not the tool to use
Is there any other commands/tools to troubleshoot network connection and identify/prove latency problems? Are there any possibilities to build some tracing of this? To capture the latency on even higher layers?
3. Time, is the relation between the two, latency if typically, the time it takes before a packet actually gets 'put on the wire" so this would include the time a packet is queued before the transfer out of the device takes place.
Is it a fair statement, that latency can be roughly expressed in the formula RTT/2?
Basically we need to assess the network latency and compare it to the system requirements in order to prove that something is wrong here. But as those 2 tools (Ping/Tracert) are giving completely different results, it's complicating a lot.
Thanks for your suggestions!
Sasha.
03-07-2017 05:53 AM
Neither ordinary ping or traceroute are designed for highly accurate latency/RTT measurements. So all your questions are a bit moot.
To really analyze your network performance, you need packet dumps from both ends of the network.
Next best option would be to use some kind of dedicated network performance measurement tool or a SLA tool.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide