VPSLink Logo This review is a follow up from my previous blog entry. Long story short — I have been a customer of VPSLink for 17 months and have been using their OpenVZ VPS to host various projects. Recently they launched their Xen VPS hosting product, and Cameron from VPSLink has provided me a Xen Link-3 account to play around.

Before I go on, I feel that I might need to make some disclaimer. VPSLink has also been a regular sponsor of this blog since June this year (in case you have not spotted their skyscraper ads on the right), but I will try to keep my review unbiased :) I was going to give their Xen beta program a try any way when it was announced 2 months ago, but was too busy to do so.

The Product

Xen VPSLink launched their Xen VPS hosting product a month ago after one month of public beta testing. You can read about their Xen Virtual Private Server here:

New Features available in XEN:

  • Swap space
  • Full control of all iptables modules
  • Loadable kernel modules (please note you can not run a fully custom kernel)
  • Access to remote console for troubleshooting

XEN differs greatly than OpenVZ and there are several factors to keep in mind when selecting a XEN based VPS account.

Then it listed out a few things to consider to choose between Xen and OpenVZ. None of those matters to me anyway, and it failed to explain how Xen and OpenVZ are in fact intrinsically different, especially how memory model differences will turn a perfectly fine application on Xen to instability on OpenVZ, which I sort-of explained here.

The plan price is nowhere near low-end, however they are very cheap consider VPSLink/Spry’s reputation. My test VPS is a “Link-3″, which comes with:

  • 10GB disk space
  • 300GB bandwidth
  • 1 dedicated IP
  • 256MB dedicated RAM

It costs between $20.79 – $24.95, depending on the length of your billing cycle.

Signing Up and Setting Up

Signing up is the easy bit — it has all been done for me when I asked Cameron for a test VPS! However from my previous sign up experience (over 17 months ago), the provisioning is instantaneous (if you pass through their automated fraud check). You should be receiving instructions within minutes of payment.

VPSLink uses its internally developed control panel for both OpenVZ and Xen VPS. It is easy to navigate and the layout is pretty much task-driven. The first things I do were logging into control panel, select my new VPS, click on “Manage OS” and then “Install OS”. Ubuntu 7.10 came out around 2 weeks ago, and it was already available on the list of OS images to install. “Why not give the latest Ubuntu a try as well?” so I clicked on Submit and waited.

Installing Ubuntu 7.10 on VPSLink Xen VPS

It took only a few minutes for VPSLink to rebuild the server with a base Ubuntu installation (which is one thing I really like about VPS). An email is sent out containing the root password, and I am in with a root shell in minutes!

Software and Hardware

As it is paravirtualisation and you cannot run your own kernel, VPSLink dictates the kernel version on all the Xen VPS. Here is the uname -a output.

# uname -a
Linux vpslink 2.6.18-8.1.15.el5xen #1 SMP Mon Oct 22 09:33:52 EDT 2007 i686 GNU/Linux

Looks like it is running the kernel from CentOS 5 (or RHEL 5). You can build your own kernel modules but if you are not running CentOS 5, you’ll need to grab the Linux 2.6.18 kernel source and compile your kernel module against that.

Hardware wise it is not that fancy. Basically VPSLink has two classes of servers — dual core single proc for Link-1 to Link-3 customers, and dual core dual proc Xen for Link-4 to Link-6 customers. So what do I get with my Link-3 account?

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU          4400  @ 2.00GHz
stepping        : 2
cpu MHz         : 1994.998
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 4989.56

Basically an Intel Core 2 Duo E4400 CPU with 2MB L2 cache running at 2.0Ghz, i.e. “low-end”. Moreover, my VPS has only been assigned to one of the two CPU cores so it is impossible to burst my CPU usage to the full potential of the CPU. A single E4400 core is still plenty of power for a 256MB VPS and my neighbours will be happy to know that my “make -j4″ will not affect the whole node.

Still, while a single E4400 core packs enough power for a low-end VPS (and VPSLink probably keeps the number of domU low), it is nothing to be boasted about. I have no CPU performance problem though over these two weeks, as web-serving VPS usually have their bottleneck in disk IO.

There are plenty of disk IO bench mark programs, but I just use something that is readily available — hdparm.

# hdparm --direct -t /dev/sda1

/dev/sda1:
Timing O_DIRECT disk reads:  486 MB in  3.00 seconds = 161.88 MB/sec

# hdparm -T /dev/sda1

/dev/sda1:
Timing cached reads:   2330 MB in  2.00 seconds = 1165.09 MB/sec

Direct disk read at 161 MB/sec — that’s pretty impressive! Reading from disk cache at 1.1GB/sec — Jeez! It probably has the best disk read speed comparing with my other VPS.

Network

VPSLink is in Seattle, inside Spry’s own data centre. Network performance has been great around the clock, and there has not been any downtime that has been detected (polling at 5 minutes interval).

But you know what is good about hosting in Seattle? Three words — Amazon Web Services. Amazon is also in Seattle, and if you are a heavy user of services like Amazon S3, or want a static IP front-end for your fleet of Amazon EC2 slaves, the latency and bandwidth between your servers and Amazon can make a huge difference.

Check out these benchmarks.

# tcptraceroute s3.amazonaws.com
Selected device eth0, address 209.40.199.168, port 39897 for outgoing packets
Tracing the path to s3.amazonaws.com (207.171.181.225) on TCP port 80 (www), 30 hops max
 1  64.79.219.1  0.671 ms  0.370 ms  0.433 ms
 2  64.79.223.1  0.429 ms  0.458 ms  0.470 ms
 3  ge1-4.cr01.sea02.mzima.net (72.37.232.33)  9.481 ms  0.933 ms  0.466 ms
 4  xe0-1.cr01.sea01.mzima.net (216.193.255.193)  1.470 ms  10.979 ms  0.912 ms
 5  ge-6-2.car3.Seattle1.Level3.net (4.71.152.1)  0.931 ms  0.943 ms  0.996 ms
 6  ae-12-55.car2.Seattle1.Level3.net (4.68.105.131)  0.951 ms  0.965 ms  0.976 ms
 7  * * *
 8  185-33.amazon.com (207.171.185.33)  1.459 ms  0.953 ms  0.973 ms
 9  177-159.amazon.com (207.171.177.159)  0.976 ms  1.449 ms  0.968 ms
10  207-171-181-225.amazon.com (207.171.181.225) [open]  0.982 ms  0.946 ms  0.960 ms

# wget http://s3.amazonaws.com/ec2/assets/aws_console_screencast_1.mov
--06:45:35--  http://s3.amazonaws.com/ec2/assets/aws_console_screencast_1.mov
           => `aws_console_screencast_1.mov'
Resolving s3.amazonaws.com... 207.171.183.113
Connecting to s3.amazonaws.com|207.171.183.113|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11,004,220 (10M) 

100%[==========================================================================>] 11,004,220    11.36M/s

06:45:36 (11.34 MB/s) - `aws_console_screencast_1.mov' saved [11004220/11004220]

Yes, read that! Less than 1ms latency to Amazon S3, and pulls a 10MB movie file down at 11.36MB/sec! Awesome.

Still with Bugs

Great performance aside, somehow I feel that VPSLink’s Xen VPS is still not 100% ready. There has been a few issues with their console panel and OS images.

  • Somehow /etc/fstab wasn’t set up properly on the Ubuntu 7.10 image. It is emptied out, so commands like df and mount do not show the root directory is mounted, thus you can’t find out how much space has been used. It wasn’t an issue with Debian 4 OS image that I’ve tried.

  • Getty wasn’t initialised on console for my Ubuntu 7.10 image either, but then console access from control panel does not work for me either (always got connection timeout). The screen cast with CentOS shows it’s working fine so it might just be Ubuntu OS image again.
  • Other glitches like hostname is not persistent.

None of that are show stoppers, and VPSLink is actively working on resolving these issues. Hopefully they will be resolved soon.

Conclusion

Xen VPS at VPSLink provides solid performance and great network connectivity especially to Amazon Web Services. The low-end VPS might not get state of the art hardware, but disk IO is certainly not the issue in my own experiment.

Moreover, it has a great community and good support. Recommended if you are looking for a West coast VPS.