There are many factors to consider when choosing a hosting provider. How long have they been in business? How solid is their reputation for quality and service? How effectively do they deal with problems? Do they have 24/7 email and phone support? How well do their servers perform? And of course, how fast is their network? Answering that last question, however, is where many people get into some trouble.
A fast network isn’t the same as a fast car, in fact networks are more like the roads themselves. If a network doesn’t have enough capacity, lines fill up and traffic slows down like rush hour. If a network isn’t high-quality and well-maintained, traffic won’t move efficiently through it. Also important is how far the traffic has to go to reach its destination. This is where people whip out ‘traceroute’ and (mis)use it to gather “information” about a network…
Traceroute is a fine utility for diagnosing specific network segments but was never intended to generate useful performance metrics in general. It works by sending ICMP packets from point A to point B, and measuring the round trip time for each hop. Seems simple, until you look at it more closely. The path your ICMP packets take on each round trip isn’t always the same, nor is it always the same path in both directions. Ever notice how sometimes a hop in the middle of a trace shows a higher time than one that is further a way? Asymmetric paths are one possible explanation. Another is ICMP de-prioritization.
ICMP de-prioritization isn’t just an acronym and a complex word, it’s also a complex concept. Let’s imagine you were trying to test the performance of the postal service by sending a postcard far away. It may take anywhere from a day to a couple of weeks to reach its destination. The postal service isn’t getting paid very much to send it, and it will only carry it to the next destination if there’s space left after the first class and Priority Mail has been loaded.
This postcard is much like ICMP. If something more important needs to go out, they’re going to fill the bag with it instead of your postcard. After all, if your postcard was super important you’d have put it into a Priority Overnight envelope, right? And that’s what networks do too. Traffic such as web, voice, and even email can be assigned priority over ICMP much like overnight packages have priority over postcards. And this is the way you should want it. You aren’t paying your provider to move traceroute packets rapidly, you’re paying them to move your web traffic!
So we’ve established that tracerouting is unreliable in general to determine the speed of a host, but given that it’s imperfect won’t it still give you a rough estimate of how well one host performs vs. another?
Not at all.
I mentioned previously that the distance from point A to point B is a factor in network performance. Many people think this is a great reason to run a traceroute from their home or office computer to a hosting company to try to ascertain how fast the network performs. However, all a traceroute is really going to do is give you a rough estimate of the speed of your particular network segment in your particular locale to the host in question.
In a globalized world how can one possibly assume that your own extremely localized results are useful to anybody else? There are hundreds of millions of people using the internet at any time, any of them could be the next visitor to your website. Unless they’re all sitting in your living room with you, your traceroute isn’t a good indicator of what their experience will be.
To use another analogy, imagine you wanted to set up a retail storefront in the U.S., and you want it to be as easily accessible as possible to the most people around the world. Would you use ‘Google Maps’ to map the distance between different stores and your house, assuming that if you get something local then everybody else should be able to get themselves there? No. You’d probably look at established, high-traffic locations – maybe even Fifth Avenue in New York City or Rodeo Drive in Los Angeles. None of them may be next to you, but that’s really beside the point.
There are lots of good methods to establish the speed of a host, but traceroute isn’t one of them. I’ve seen way too many people gravitate towards nearby hosts because they get great traceroutes and assume that the host has a GREAT network, when in reality the network is slow for most of the world.
You are certainly one of the most important people who will ever access your server, so performance does matter. But I would urge you to look beyond your own experience and to focus on your users – and most importantly to understand that the two experiences are not necessarily the same. A great host should have all kinds of important qualities, and they should all be considered. In the grand scheme of things, traceroute – a bad measure of distance between point A and point B for one individual – isn’t worthy of serious consideration much less ‘final judgment’.
Disney World is far away from most people, but thousands visit every day from all over the world for the first time. And maybe with the worry-free lifestyle that you can develop by finding the right host, Disney World is exactly where you’ll be headed next.
Photo by pixie