Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I ping ping system a from system b; I get an avg of 1.494ms. When I ping system b from system a; I get an avg of .896ms.

I ran a test my pinging once every 10 second for 1.5 hours. I ran this on both machines. I then re-ran the test several times over 6 days at different times and for different lengths of time. In all cases, pings from b->a out performed pings from a->b by 20% to 50%

I then tried file transfers from a->b and b->a. They varied by less than 5%.

These are identical Linux RedHat servers. Same hardware, same software.

I fully understand that if I were a normal well adjusted person that wasn't obsessive and anal retentive I would have shrugged my shoulders and moved on after noticing the first discrepancy. But I am totally maddened by this.

What on earth could be causing this and how would I check if that is the case?


share|improve this question
WTF is an "asynchronous ping time"? – womble May 17 '09 at 2:17
Wolfram|Alpha isn't sure what to do with your input. :) – nedm May 17 '09 at 2:22
You keep using that word. I do not think it means, what you think it means. – womble May 17 '09 at 3:50
@sal - ITYM "asymmetric" – Alnitak May 17 '09 at 6:43
I'd like to note that the ping times are showing the latency (affected by route, traffic, load etc), and file transfer times will mainly be bandwidth (should be consistent), so this really isn't all that unusual – gharper May 17 '09 at 17:25
up vote 2 down vote accepted

It's worth doing a traceroute from A->B and B->A. Unless you know otherwise, it's entirely possible that traffic in the forward direction is taking a different path to that in the reverse direction.

You would expect this to be allowed for given that ICMP measures round trip time, but I have seen similar asymmetric ping times in networks where traffic in a given direction is biased over specific links.

share|improve this answer
traceroute from a->b was 6 hops. from b->a was 6 hops. But not the same 6 hops. Going from a->b we are going from eth0 to eth0. From b->a we start with eth1 and end on eth0 on the other box. Odd. – sal May 21 '09 at 22:17

I'm guessing that a and b are in separate data centers? Possibly with different upstream carriers?

Ping is implemented over ICMP, which is an entirely separate traffic type to TCP, and as such carriers are free (and commonly do) de-prioritize ping traffic. You may be seeing this effect in your testing.

You may be able to confirm this using tools like mtr, or tcpping, which use alternative methods to simulate a ping.

edit: Have you checked the duplex settings on each interface between a and b? If something has failed auto detection and defaulted to half duplex this may explain the results you are seeing (although its less likely that you would get an acceptable transfer rate in the face of duplex mispmatch)

share|improve this answer
Link to TCPPing – Unkwntech May 17 '09 at 9:10
@Unkwntech, thanks, i've updated my post – Dave Cheney May 17 '09 at 12:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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