One thing most folks do with their newly rented low end Linux VPS (virtual private server) is to run some benchmarks. Wildly popular are the “Cachefly test” for network performance, dd for disk IO and UnixBench for overall system performance analysis including the CPU. The results are then posted in threads on web hosting communities like webhostingtalk or lowendtalk just to name a few. What most enthusiasts miss when comparing VPS’, and in particular low end VPS’, is that it’s just a snapshot. There are dozens of virtual servers cramped into one physical server and anything that goes on in those other virtual servers automatically has an impact on a performance test. That’s why the results should be taken with a grain of salt – unless they’re consistent over time. Time in the sense of weeks and months.
The most popular benchmark for network connectivity seems to be the Cachefly test. Cachefly is a content delivery network (CDN) and is well interconnected in the western hemisphere. To show off their capability to deliver content they’ve set up a test file which can be downloaded using wget:
wget -O /dev/null http://cachefly.cachefly.net/100mb.test
The download speed shown from wget basically indicates two things: how good is the routing/peering to Cachfly’s CDN network from your VPS providers’ data center. And as a by-product it may show what speed the Ethernet port had been capped at.
Here’s a sample result of a capped Ethernet port:
wget -O /dev/null http://cachefly.cachefly.net/100mb.test --2012-02-20 22:15:08-- http://cachefly.cachefly.net/100mb.test Resolving cachefly.cachefly.net... 126.96.36.199 Connecting to cachefly.cachefly.net|188.8.131.52|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `/dev/null' 100%[==================================================================================================>] 104,857,600 10.7M/s in 8.9s 2012-02-20 22:15:17 (11.2 MB/s) - `/dev/null' saved [104857600/104857600]
You can’t see this in the static output shown above but while downloading, the rate shoots up straight to 11-12M/s from the beginning and stays there. Obviously, this provider has capped the port speed to 100Mbps.
The next sample shows the wget result of a different low end VPS with excellent routing to Cachefly’s CDN:
wget -O /dev/null http://cachefly.cachefly.net/100mb.test --2012-02-20 22:21:55-- http://cachefly.cachefly.net/100mb.test Resolving cachefly.cachefly.net... 184.108.40.206 Connecting to cachefly.cachefly.net|220.127.116.11|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `/dev/null' 100%[==================================================================================================>] 104,857,600 43.6M/s in 2.3s 2012-02-20 22:21:58 (43.6 MB/s) - `/dev/null' saved [104857600/104857600]
Even though the second server is able to download from Cachefly at a much higher rate, that doesn’t indicate that network connectivity is superior to the first server in general. Downloading from Cachefly doesn’t say one thing about general network connectivity from your VPS to the rest of the internet – which usually is more important than just a fast route to Cachefly’s CDN. It even gets more complex: Cachefly is using directional (Anycast) DNS. Depending on your server’s geographic location, it may be routed to a completely different CDN server (as you can see in the samples above).
If you really want to get a picture of a VPS’ network connectivity, the Cachefly test should be just one indicator. You will have to include a whole range of test files from other hosts. One way to find test file URLs is to google for +VPS +test +files. You also find test URLs on low end VPS review sites, blogs, forums and data center web sites.
I’m deliberately not coming up with a list since I don’t want to cause bandwidth issues to anyone.