2

I'm still attempting to confirm my hypothesis that this problem may be isolated to servers hosted on the same physical Hyper-V host, but certainly at least I've found frequent, though intermittent, cases of attempting to ping some of my servers from some of my other servers, and getting bizarre responses. The standard Windows ping tool will instantly (as in far, far faster than you would expect for a < 1ms reply time) report all four replies, with numbers in the tens of thousands of ms.

Running ping -n 1000 fs1.nisgaa.net > ping-fs1.log completed in about 10-15 seconds.

1. The first line: Reply from 10.3.0.17: bytes=32 time=85546ms TTL=128
2. The next ~450:  Reply from 10.3.0.17: bytes=32 time=63979ms TTL=128
3. The next two:   Reply from 10.3.0.17: bytes=32 time<1ms TTL=128 (these lines actually take a second to spit out, unlike the above, which appear instantly)
4. Next two:       Reply from 10.3.0.17: bytes=32 time=85546ms TTL=128
5. Next two:       Reply from 10.3.0.17: bytes=32 time<1ms TTL=128
6. Next one:       Reply from 10.3.0.17: bytes=32 time=63980ms TTL=128
7. Next five:      Reply from 10.3.0.17: bytes=32 time<1ms TTL=128
8. Next three:     Reply from 10.3.0.17: bytes=32 time=91472ms TTL=128
9. Next ~75:       Reply from 10.3.0.17: bytes=32 time=63980ms TTL=128
0. Next four:      Reply from 10.3.0.17: bytes=32 time<1ms TTL=128
1. Next one:       Reply from 10.3.0.17: bytes=32 time=85546ms TTL=128
2. Next one:       Reply from 10.3.0.17: bytes=32 time<1ms TTL=128
3. Next one:       Reply from 10.3.0.17: bytes=32 time=85546ms TTL=128
4. Next 15:        Reply from 10.3.0.17: bytes=32 time=63980ms TTL=128

And so on, with large, repeating chunks that it claims take minutes, but are reported instantly, followed by a small handful of < 1ms responses, as I would expect.

Any ideas at all what could cause something like this?

2
  • What version of windows? On my PC running windows 7 the ttl = 64. It looks like an error in the ping command.
    – dbasnett
    Dec 7, 2011 at 19:02
  • On multiple machines, some XP, some Server 2003, some Server 2008 (not R2). This particular test was done from a Server 2003 machine to a Server 2008 machine. Dec 7, 2011 at 21:50

2 Answers 2

1

Small amounts of time can be very difficult to measure within a VM, as the virtual processors don't run continuously. I wouldn't be at all surprised if the time calculations are being thrown off.

If they're really reported instantly, then measurements of 64 to 85 seconds are clearly wrong.

1
  • Indeed. I've seen really weird things when pinging Windows machines running on Xen Jul 30, 2012 at 2:34
1

I have been having the exact same issue and found the following blog post:

http://blogs.msdn.com/b/tvoellm/archive/2008/06/05/negative-ping-times-in-windows-vm-s-whats-up.aspx

Just a quick blog post that might help you resolve an issue that some customers have seen running under Hyper-V VM's. The issue is negative ping times on multi-processor guests.

If you see negative ping times in multiprocessor W2k3 guest OSes you might consider setting the /usepmtimer in the boot.ini file.

The root issue comes about from the Win32 QueryPerformanceCounter function. By default it uses a time source called the TSC. This is a CPU time source that essentially counts CPU cycles. The TSC for each (virtual) processor can be different so there is no guarantee that reading TSC on one processor has anything to do with reading TSC on another processor. This means back to back reads of TSC on different VP's can actually go backwards. Hyper-V guarantees that TSC will not go backwards on a single VP.

So here the problem with negative ping times is the time source is using QueryPerformanceCounter which is using TSC. By using the /usepmtimer boot.ini flag you change the time source for QueryPerformanceCounter from TSC to the PM timer which is a global time source.

The symptoms also affect anything that relies on QueryPerformanceCounter, such as the dot net System.Diagnostics.StopWatch class.

Update - our friendly IT person updated our virtual machines as per the instructions and it has fixed the issue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .