At this stage, my only experience with virtual machines is running my own Proxmox server on a spare computer I had which was happily serving up my files with ownCloud, running another VM for zeroshell, another for playing with different distros such as Debian, Ubuntu, Fedora, CentOS, etc.

After getting tired of maintaining a noisy machine, consuming power and generating heat, I thought this would be a good place to start learning about VPS.

This post will be about my journey with the Woothosting KVM VPS Promo Special – 1GB. Now, obviously for the specs of this VPS I wouldn't expect to replace all of my servers, especially ownCloud which has around 300GB of data alone.

Here's the details:

WootHosting

 Storage:  40GB ($0.75c/GB)
 RAM:  1GB
 Swap:  1GB
 CPU:  1x 2GHz 
 Network:  Gigabit
 Bandwidth:  2TB
 Type:  KVM
 Price:  $30/year

$30 per year for a server I don't need to keep running in a closet? Yes, please!

40GB is a good start I think, especially considering without doing any sort of file storage, this would make a good machine for running a web server on, as a development platform or to even have root access on a Linux box to learn on.

To me, at this point, RAM and swap mean very little. Sure, lots of RAM would be awesome, but for the price, 1GB seems great.

Gigabit network.. mmm.. it's awesome watching files download that fast :)

KVM.. well, this forced me to learn the difference between KVM and OpenVZ. There are a lot of things on the internet that debate the differences, and from what I can tell, it'll mean very little to me. For now, I think of KVM as a virtual machine and OpenVZ as a virtual Linux.

With that said, I needed to find a way to measure the performance of this server and compare it with my laptop which is running Ubuntu 16.04 (Mint with MATE desktop).

This VPS is set up with Ubuntu 14.04 LTS

I found a simple script online that you copy and paste into the shell, and it returns some information on the speed of the IO, CPU and network. To be fair, I have decided to take 3 readings at different times of the day to see what it looks like.

First, we need to install 2 packages that the script depends on, time and bzip2

apt-get install time bzip2

Then we can run the script:

bash <(wget --no-check-certificate -O - https://raw.github.com/mgutz/vpsbench/master/vpsbench)

The results I get on my first attempt on this VPS:

CPU model:  QEMU Virtual CPU version (cpu64-rhel6)
Number of cores: 1
CPU frequency:  1999.999 MHz
Total amount of RAM: 994 MB
Total amount of swap: 1023 MB
System uptime:   9 days, 2:48,       
I/O speed:  226 MB/s
Bzip 25MB: 7.52s
Download 100MB file: 31.1MB/s

From this we can see there is 1 CPU core, at 2ghz, 1GB of RAM and 1GB of swap. The I/O speed is 226MB/s which I think is awesome, and shows that it's definitely on SSD drives. 7.52s to Bzip 25MB is also pretty good, and 31.1 megabytes per second is amazing. It's not the full gigabit, but I would never expect anywhere near that anyway.

So far the results look great, but I'm not sure what they mean, so I'll compare with my laptop for fun:

CPU model:  Intel(R) Core(TM) i7 CPU       Q 720  @ 1.60GHz
Number of cores: 8
CPU frequency:  933.000 MHz
Total amount of RAM: 15981 MB
Total amount of swap:  MB
System uptime:   3:32,       
I/O speed:  192 MB/s
Bzip 25MB: 12.11s
Download 100MB file: 2.51MB/s

That's on an i7 laptop, SSD, connected via WiFi to a 100mbit VDSL connection. Comparing the results, the VPS is performing very well for $30 per year!! I can't believe it! I can't wait to play around some more with the server and see what else I can do with it.

But for now, here are 2 more benchmarks from random times on 2 different days on this woothosting VPS:

CPU model:  QEMU Virtual CPU version (cpu64-rhel6)
Number of cores: 1
CPU frequency:  1999.999 MHz
Total amount of RAM: 994 MB
Total amount of swap: 1023 MB
System uptime:   3 days, 1:56,       
I/O speed:  183 MB/s
Bzip 25MB: 7.24s
Download 100MB file: 27.9MB/s
CPU model:  QEMU Virtual CPU version (cpu64-rhel6)
Number of cores: 1
CPU frequency:  1999.999 MHz
Total amount of RAM: 994 MB
Total amount of swap: 1023 MB
System uptime:   4 days, 11:28,       
I/O speed:  257 MB/s
Bzip 25MB: 7.37s
Download 100MB file: 29.7MB/s

These results look pretty good to me, fairly consistent too.

Next, I'll look at the 200GB HostUS plan for $33/year, it will be interesting because there will be a trade-off between RAM and storage.

-Dave