Fun With Traceroute - Applications on Finding a Good Host for China Websites
I recently downloaded 3D Traceroute and have been having fun with it. Traceroute is an age-old tool that lets the user follow the stages across an Intranet and/or the Internet, to see what nodes, or routers, the data passes through. It allows analysis to show where the connection may slow. I downloaded this package in particular because it presents the results in nice 3D and 2D graphs. Traceroute packages ‘ping’ each node along the connection path, showing the ‘speed’ to each node in the overall connection.
Here’s an example picture:

It shows the nodes (discrete) along the horizontal axis, and the time (continuous) along the vertical axis. Higher times are bad, because that means the time needed to connect to this part of the connection is slower.
The above example is running 3D Traceroute from my home connection (Dalian, Liaoning, Northeast China) to this website – chinawebmasters.org. Another cool feature is that 3D Traceroute doesn’t run the trace once, it keeps going until told to stop, allowing averages, standard deviations, and other statistical things to be measured easily.
Why Not to Host in the US
There is a clear peak in the above picture. This is the connection crossing the Pacific. Here are the steps in the connection:

From the Taiwan address (219.158.3.142 – pretty sure this is Taiwan*) to the US (144.223.242.89 - which I think is Kansas City*). The average speed of the ping to the last Greater China node in Taiwan was 115ms, when it landed in the US it was 294ms – the connection time between Taiwan and the US almost tripled. That’s not good when running a website.
There’s more to hosting than speed. I host in the US because of the favourable legal environment websites enjoy, as well as it being dirt cheap for a huge amount of features. I host other websites in other places, depending on the trade-off involved between speed, target audience, legal environment, etc.
Rick hosts Panda Passport in Hong Kong. Let’s look at his connection speeds:

And here’s the list view:

There’s a difference (not as large as with the US, but still an incline) between 218.105.5.10 (somewhere in China, perhaps Fuyang) 210.52.132.234 (I think this is Zhuhai, which is very close to Hong Kong) and by the time it reaches Hong Kong (202.130.96.51 which well may be Chep Lap Kok, the airport area). But it is much faster than hosting in the US.
How about hosting in mainland China? Here’s how the venerable China Daily holds up:

Nice. Very fast.

Of course, this is a professional publication and not a blog on a budget server. Hmm... looks like a bit of packet loss on a couple of the sweeps.
What’s the point of this article? Just to introduce an interesting and visual way to determine what host may have faster connection speeds. If you’re considering hosting a website, it’s important to consider where your visitors come from, and choose a server that’s good for them.
Some Warnings:
I did this test during the daytime using just one connection. If you’re seriously considering creating a website where the user-experience must be good, do this test at a variety of times of the day, week, month and even year; use a variety of ISPs and do it from a variety of locations. Perhaps employ a specialist.
ISPs, hosts and networks can change their infrastructure and policy. This is strictly a quantitative analytical test. It doesn’t substitute doing research into what ISPs are doing themselves, like building better infrastructure and perhaps using more Internet Exchange Points, or is a hosting company proposing changing it’s ISP/Internet connection?
This is a ping test. It doesn’t take account bandwidth, just speed. I could have a very fast connection which is saturated with traffic and has high traffic loss. A ping is a very small simple packet, if intermediate computers/routers conduct any form of packet scanning the speed will fall as the packet/scanning gets more complex.
Routers give priority to read data packets, not pings. If a router appears slow at the intermediate stage (indeed, slower than the final connection) it’s because it’s probably dealing with the packet with a lower priority. The ‘ping’ measures the speed the packets is sent and returned by, but there’s no assurance the return path isn’t longer than the send path.
Some computers and operating systems have difficulty measuring milliseconds.
In general, use qualitative judgement when interpreting network connection speeds.
*Actually geolocating IP addresses is tricky. While IP addresses are assigned centrally, independent data providers sometimes have difficulty of keeping track of where they actually are. I notice this problem in that my Dalian IP address is in fact resolved as a Shenyang address by many services. Likewise the IP address listed earlier (144.223.242.89) tended to be listed as Kansas City, but in some cases was referred to as being in Trinidad and Tobago. In particular, the geographical co-ordinates given by the 3D Traceroute program seemed to be very suspect.
Delicious
Digg
Reddit
Furl
Google
Yahoo
Technorati
hao hao
Slashdot It
Post new comment