We're seeing latencies of ~100-300ms for services accessing a remote resource within the same subnet, yet when we use ping (ping size was of a similar size as of packets sent normally), we see responses of 5ms or less. Anything else we should check?

An excerpt from resource monitor

  • 12
    Just as an aside, the network is reserved for private networks and is not publicly routable. Obscuring part of the IP address is therefore not necessary. More info here - en.wikipedia.org/wiki/…. – Buggabill Dec 21 '11 at 20:47

What does "latency" mean ?
Are you comparing ICMP echo response times with application processing round-trip times ?

If you are, that would explain it - and also tell you not to compare apples and oranges :)

  • 4
    Agreed - do a packet capture on the server and watch how long it takes for the server to issue a reply to application requests. – EEAA Dec 21 '11 at 17:01
  • 3
    …but they're both round (and that works for RTT and the specified fruits!) – voretaq7 Dec 21 '11 at 17:02
  • 4
    ..and ICMP packets are 64 bytes. Their overall and measured latency is pretty much guaranteed to be better than anything containing actual data payload. – adaptr Dec 21 '11 at 17:03
  • 2
    On top the ping takes nearly no time on the server o be processed AND you may have QOS prioritizing pings (I do on´ some links). – TomTom Dec 21 '11 at 17:16
  • 1
    I would say: check network, interfaces and stuff. Maybe your apps show such latency because of reset messages due to problem on interfaces – Alfabravo Dec 21 '11 at 17:25

can it be you have packet losses [that cause reteransmissions] for instance for larger packets?

maybe try ping -s 1400 address under linux or ping -l 1400 address under windows.

if that does not help try looking at the traffic with wireshark - maybe there are some strange re-transmissions, corrupted packets?


A discrepancy like that usually shows an issue in the application / server. While it is possible that your ping is different due to QoS / network prioritization, that's not the first place I'd look if you're talking about systems on the same local network.

What's your latency time accessing the service from the same host it is served by? Does that host provide other services faster? Is it under a heavy IO load?


As you're suspecting here, ping latency != a TCP round trip time, particularly if there's data being transferred. It's possible that all of this this is due to delayed ACKs (which can impose ~200ms, the common default setting) or the bad interaction between Nagle/and DACK which can push it up to ~500ms. A packet capture is in order here.

Also note that the delayed ack timer is independent of a TCP flow, and is instantiated when the system boots. So it can fire any time between 1-200ms inside of a flow, and commonly causes a 'range' style delay as you describe.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.