9

This might be a very basic troubleshooting question, but it's worth asking to make sure I'm testing things the correct way and interpreting results effectively.

I have a controlled start point (a server cluster under my control) and an uncontrolled endpoint (a data center I do not have physical or remote access to). As part of normal troubleshooting, I often need to establish latency numbers.

Currently, I've been using ping plotter or just a good old fashioned continuous ping or tracert

If I'm trying to establish more realistic end to end numbers (the software I'm working with is database software) I'll sometimes use Fiddler 2 to capture web traffic and compare some of the timers there (things like ClientDoneRequest -> ServerBeginResponse) to get a full end to end time.

What do you guys look at when determining numbers for straight network latency?

3
  • Lots of people are suggesting you stick with ping, and you even say you are already using ping. Perhaps you could elaborate on why you want something else to take measurements with, why isn't ping what you require? You haven't actually said what is wrong per se, just asked an open ended question, and you don't seem to be getting the answer(s) you require.
    – Baldrick
    May 29, 2013 at 12:22
  • It was fairly open-ended, and I have gotten the answer I wanted. I just hadn't marked it as such. Ping is the right tool for what I'm doing.
    – Sean Long
    May 29, 2013 at 12:26
  • I see, well please note that open eneded questions are discourage; networkengineering.stackexchange.com/faq#dontask You should try in future to list points that you are after in a measurement tool, reasons you need them, points you don't like etc, to give the question more structure.
    – Baldrick
    May 29, 2013 at 12:32

4 Answers 4

7

The latter half of your question seems to indicate you're looking for latency figures that take into account the process of forming application-layer data, in which case "ping" will not help much considering there's not much data to be formed in a ping packet.

Network folks usually rely on ping because it's a relatively light and reliable way to produce a certain amount of random data to test reachability and latency for a given path. An application which uses HTTP calls, for instance, will behave differently because HTTP is not the same as ICMP.

If you're concerned with general network latency figures, outside of any application-specific context (which is the best way to test), ping works just fine.

1
  • I'm more concerned about the network-layer stuff here. There are other ways I can isolate and test the application layer, and I included the fiddler information mostly as background. From the rest of the comments, it seems like Ping is basically going to give me the best information without having to go to a specific tool.
    – Sean Long
    May 28, 2013 at 21:35
5

Do you have the option of using IP SLA between two routers at each point? I'm not sure about your topology at the remote end so not sure if you have a server on the other side or if that server connects to a router which could in theory run IP SLA

4

I just want to mention a couple of things. Latency can greatly depend on your host. Make sure its the server you are testing from and not your laptop. Depending on the operating system (Windows or Linux) your ping latency times may be different. I have had experience where Windows systems were showing slower latency than Linux systems across the same network paths.

Ping as a reasonable test. However, if you can do a TCP session from your server to your endpoint in that datacenter, you will get more accurate numbers without having control of the endpoint. I would run a packet capture while your TCP session is established. Then follow the TCP stream and look at your delta times. What is the time difference between your initial TCP packet and the next sequence? That is about in realtime what sort of latency you are seeing.

Are you trying to discover if the network is performing good or if the servers are performing their jobs?

1
  • I was trying to get at how to measure the network stuff accurately, I see how it could be confusing (since I mentioned Fiddler2). I can isolate and test for application layer stuff easily enough (that's a whole different story), but need to be able to accurately measure trips between a given environment and a remote data center, as well as internally between a client workstation and a server (So across ethernet/wireless).
    – Sean Long
    May 28, 2013 at 21:38
4

Latency can be a funny thing to measure - especially accurately. Ping does a good enough job for a general idea on how your network's latency stands, but when it comes to very low numbers it can become the wrong tool for the job. It also does nothing for higher level testing (like website response times).

For measuring strictly network performance (latency/bandwidth/loss/etc.) I like Exfo's testing gear. This is simply a preference and honestly it's the first device I used so I'm sure competing devices would work just as well. JDSU is also a major supplier of this kind of equipment.

There is also PCHAR which is an open-source tool for measuring latency more accurately than ping. I have not directly used it but I know people who have and like it.

This article gives you a good overview of some of the things ICMP Echo can/can't do well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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