96MB Low End VPS Review Part XXXVI – BuyVM KVM Series (Part 1 of 2)
BuyVM is perhaps one of the most frequently featured providers here – for a good reason that they sell really great servers at really cheap price. So far, almost all 15/year providers are unable to deliver a reasonably performed VPS for a prolonged period of time, except BuyVM. As a result, almost every time BuyVM added some new stock, they are sold out in relatively short time frame. Therefore, although it has been a few months since BuyVM has announced their new KVM product lines, I did not manage to get a hold of a few KVMs until recently.
This review will consists of two parts, both are dedicated to BuyVM’s KVM series, the first is the most budget 128MB KVM VPS and second part is for the mid-range 512MB KVM products. Why? Because many hosts use lower-range hardware and almost all hosts put more clients per VPS on their budget nodes. Therefore, the performance of the 128MB VPS could vary drastically with that of the 512MB VPS.
Basic Information and Set Up
Again, as per LowEndBox, here is what you are going to get for $25/year:
The VPS is located in San Jose, CA. Unlike their OpenVZ product line, KVM set up is not instant, and for the 128MB KVM VPS, there is an explicit warning at the sign up page where you can not upgrade this package any further.
The new VPS welcome email comes at 6:02pm, 34 minutes after I have received the payment confirmation email.
As you can see, unlike the OpenVZ product line, the KVM welcome email has a few interesting pieces of information:
1. The user name to access the SolusVM control panel is no longer your email address. Instead, it is an assigned user name starting with PonyVM, and I was told that because of the restrictions with KVM technology, they can not change my user name to SolusVM panel. As such, I have lost even the ability to log into SolusVM using my email address to control the OpenVZ VPS I have with BuyVM after the accounts were merged. It is a minor nuisance for most of the users though.
2. There is link to the wiki page, which contains the instructions on how to install many of the OS distributions and some common troubleshooting tips, which could be handy when needed. Note that the 128MB KVM VPS is not sufficient to run any version of Windows and Windows 2003 is the only Windows distribution that will work with 256MB of RAM. Furthermore, the CentOS installer probably won’t work with 128MB of memory as well. BuyVM seems to have some plan to develop some sort of burst RAM for the KVM VPS but there is no ETA at the moment.
3. Unlike the OpenVZ set up, for which the IP addresses and the network is set up while the OS template is reloaded, you will need to set up the network yourself. With a graphical interface installer that I have run for Debian, it seems to be a pretty easy task and the network was configured automatically without the need for any work on my end, and therefore I did not get a chance to test for the “hit or miss” part mentioned in the email.
Logging into the WHMCS system via HTTPS connection, you will be able to see the Control Panel for the KVM VPS in My Services:
The Options on the control panel seems to work, and 17 IP addresses (16 IPv6 + 1 IPv4) is indeed quite a long list!
Once logged into the SolusVM control panel via HTTPS connection and using the user name assigned, a pretty standard older version of SolusVM interface is shown:
Note that where normally the button for emergency recovery console is replaced by the button to access the VNC viewer, which is really handy that is where you would need to install the OS. Note that by default, no OS is installed even though the OS distribution that you have chosen during sign up has been mounted (unless by Debian OS is mounted by default).
You can change a few things from the main page, such as the boot order:
There are also three options for the NIC card:
As well 2 options for the IDE driver:
Apparently according to BuyVM’s wiki article, Virtio driver seems to be able to deliver better performance in disk I/O speed.
There is also a few controls on the ISO image to mount on the CD-ROM so that you are free to install any OS desired, which is a significant advantage of KVM, even if the required OS is not available, I am pretty sure BuyVM will be able to mount the ISO if you could give them an legitimate download location:
Interestingly, and this is the first time I have seen among KVM providers, there is actually another virtual floopy drive which you can mount some drive image, although at the moment, there is no other option than the VIRTIO drivers for Windows:
The VPS comes with 16 IPv6 addresses and 1 IPv4 address and the reverse DNS set up is instant on the IP addresses page:
Test on the VPS – 128MB KVM
As mentioned above, the VPS that I have signed up for has 128MB of RAM, 15GB of storage space and is located in San Jose, California. I have installed Debian 6 32 bit (netinstall) for testing.
With a fresh install of the Debian, about 20MB of RAM is used:
free -m
total used free shared buffers cached
Mem: 121 102 19 0 19 63
-/+ buffers/cache: 20 101
Swap: 239 0 239
Note that the total RAM amount is 121MB instead of the 128MB given. I was told by another provider before that it is because the OS itself has used some memory.Furthermore, a swap partition was built automatically during the installation process.
The top output showing the processes running:
top - 10:51:53 up 4 days, 12:26, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 60 total, 1 running, 59 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 124888k total, 113608k used, 11280k free, 19684k buffers
Swap: 245752k total, 0k used, 245752k free, 72500k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3136 root 20 0 8476 2948 2320 S 0.0 2.4 0:00.25 sshd
3140 root 20 0 5648 2940 1452 S 0.0 2.4 0:00.20 bash
1014 root 20 0 27448 1540 1024 S 0.0 1.2 0:00.16 rsyslogd
3154 root 20 0 2332 1116 900 R 0.0 0.9 0:00.01 top
1536 root 20 0 5496 984 592 S 0.0 0.8 0:00.01 sshd
1330 Debian-e 20 0 6512 936 624 S 0.0 0.7 0:00.21 exim4
376 root 16 -4 2392 836 420 S 0.0 0.7 0:00.06 udevd
860 statd 20 0 1936 768 640 S 0.0 0.6 0:00.01 rpc.statd
1115 root 20 0 3784 768 604 S 0.0 0.6 0:00.50 cron
571 root 18 -2 2388 724 304 S 0.0 0.6 0:00.00 udevd
1 root 20 0 2032 704 612 S 0.0 0.6 0:10.74 init
570 root 18 -2 2388 628 212 S 0.0 0.5 0:00.00 udevd
954 root 20 0 2332 612 344 S 0.0 0.5 0:00.02 dhclient
1063 root 20 0 1704 588 480 S 0.0 0.5 0:00.01 acpid
1566 root 20 0 1708 552 472 S 0.0 0.4 0:00.00 getty
1349 root 20 0 1708 548 472 S 0.0 0.4 0:00.00 getty
1350 root 20 0 1708 548 472 S 0.0 0.4 0:00.00 getty
And the htop output for the htop fans:
Less than 700MB of hard drive space was used after the fresh OS installation, although I did not choose any of the installation packages (set the sytem as FTP or file server and so on) during the installation, however I have to install the SSH daemon so that I can access the system using putty:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/
15G 654M 13G 5% /
tmpfs 61M 0 61M 0% /lib/init/rw
udev 57M 112K 57M 1% /dev
tmpfs 61M 0 61M 0% /dev/shm
/dev/sda1 228M 15M 202M 7% /boot
As you can see, there are a lot more partitions compare to OpenVZ set up, which typically only have a single partition, or at most two partitions. Thanks to the LVM in Debian OS, I do not have to do any of these partitioning myself.
The inodes limit are set to pretty high:
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/
952848 25270 927578 3% /
tmpfs 15611 5 15606 1% /lib/init/rw
udev 14394 561 13833 4% /dev
tmpfs 15611 1 15610 1% /dev/shm
/dev/sda1 124496 222 124274 1% /boot
When the entire LNMP stack is installed, approximately 30MB of RAM was used:
free -m
total used free shared buffers cached
Mem: 121 113 8 0 6 76
-/+ buffers/cache: 30 91
Swap: 239 4 235
Top output showing the stack running:
top - 01:19:11 up 1:14, 1 user, load average: 0.00, 0.00, 0.14
Tasks: 70 total, 1 running, 69 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 124888k total, 116816k used, 8072k free, 6452k buffers
Swap: 245752k total, 4868k used, 240884k free, 78508k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
31078 www 20 0 14504 10m 412 S 0.0 8.5 0:00.02 nginx
31068 root 20 0 24200 4564 1400 S 0.0 3.7 0:00.36 php-cgi
31069 www 20 0 24200 4172 1008 S 0.0 3.3 0:00.00 php-cgi
31070 www 20 0 24200 4172 1008 S 0.0 3.3 0:00.00 php-cgi
31071 www 20 0 24200 4172 1008 S 0.0 3.3 0:00.01 php-cgi
31072 www 20 0 24200 4172 1008 S 0.0 3.3 0:00.00 php-cgi
31073 www 20 0 24200 4172 1008 S 0.0 3.3 0:00.00 php-cgi
31104 root 20 0 6092 3388 1456 S 0.0 2.7 0:00.46 bash
31101 root 20 0 8468 2948 2324 S 0.0 2.4 0:00.35 sshd
11159 mysql 20 0 34808 1772 528 S 0.0 1.4 0:00.02 mysqld
31122 root 20 0 2332 1128 900 R 0.8 0.9 0:00.01 top
1040 root 20 0 27448 960 744 S 0.0 0.8 0:00.07 rsyslogd
31076 root 20 0 4692 708 264 S 0.0 0.6 0:00.00 nginx
1190 root 20 0 5496 540 436 S 0.0 0.4 0:00.00 sshd
1 root 20 0 2032 520 492 S 0.0 0.4 0:01.07 init
1366 Debian-e 20 0 6516 456 400 S 0.0 0.4 0:00.01 exim4
1148 root 20 0 3784 448 400 S 0.0 0.4 0:00.05 cron
And the corresponding htop output:
Slightly more than 2GB of disk space is used:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/root
15G 2.0G 12G 15% /
tmpfs 61M 0 61M 0% /lib/init/rw
udev 57M 112K 57M 1% /dev
tmpfs 61M 0 61M 0% /dev/shm
/dev/sda1 228M 15M 202M 7% /boot
And approximately 10% of inodes are used:
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/root
952848 74327 878521 8% /
tmpfs 15611 5 15606 1% /lib/init/rw
udev 14394 561 13833 4% /dev
tmpfs 15611 1 15610 1% /dev/shm
/dev/sda1 124496 222 124274 1% /boot
Interestingly, the output of vmstat seems to indicate the VPS has been fairly busy:
vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 4868 8172 6468 78592 2 3 215 369 229 306 36 14 45 5
However the uptime output, which ran right next to the output of vmstat was obtained, seems to be pretty normal:
uptime 01:41:35 up 1:36, 1 user, load average: 0.00, 0.00, 0.00
For curiosity sake, I decided to run the test again, and this time, the numbers look much more better:
vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 6204 3584 24136 52540 0 0 1 6 6 37 0 0 99 0
And the corresponding uptime output:
uptime 10:38:17 up 8 days, 10:33, 1 user, load average: 0.00, 0.00, 0.00
CPUinfo output shows only one CPU core is available, fortunately it is not throttled and the clock speed is 2.5GHz:
cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : QEMU Virtual CPU version (cpu64-rhel6) stepping : 3 cpu MHz : 2499.862 cache size : 4096 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 4 wp : yes flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm up pni cx16 hypervisor lahf_lm bogomips : 4999.72 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management:
And the output meminfo:
cat /proc/meminfo MemTotal: 124888 kB MemFree: 16892 kB Buffers: 15112 kB Cached: 53436 kB SwapCached: 1348 kB Active: 42700 kB Inactive: 48944 kB Active(anon): 9492 kB Inactive(anon): 13616 kB Active(file): 33208 kB Inactive(file): 35328 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 124888 kB LowFree: 16892 kB SwapTotal: 245752 kB SwapFree: 240832 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 22004 kB Mapped: 5008 kB Shmem: 16 kB Slab: 13212 kB SReclaimable: 9880 kB SUnreclaim: 3332 kB KernelStack: 592 kB PageTables: 756 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 308196 kB Committed_AS: 111380 kB VmallocTotal: 897028 kB VmallocUsed: 5620 kB VmallocChunk: 882292 kB HardwareCorrupted: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 4096 kB DirectMap4k: 12276 kB DirectMap4M: 118784 kB
As well as time sync:
time sync real 0m0.045s user 0m0.000s sys 0m0.008s
The disk I/O is not three digits, which is something common to see in BuyVM’s OpenVZ products offering, however it is nontheless pretty high and better than many providers that I have reviewed before:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync 16384+0 records in 16384+0 records out 1073741824 bytes (1.1 GB) copied, 11.3061 s, 95.0 MB/s
Test again showed a slightly worse but still decent result:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync 16384+0 records in 16384+0 records out 1073741824 bytes (1.1 GB) copied, 11.9677 s, 89.7 MB/s
The ioping results are pretty stable as well, which is always a good sign:
ioping -c 10 . 4096 bytes from . (ext3 /dev/mapper/coco-root): request=1 time=0.4 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=2 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=3 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=4 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=5 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=6 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=7 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=8 time=0.3 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=9 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=10 time=0.6 ms --- . (ext3 /dev/mapper/coco-root) ioping statistics --- 10 requests completed in 9009.2 ms, 1954 iops, 7.6 mb/s min/avg/max/mdev = 0.3/0.5/0.6/0.1 ms
And test again:
ioping -c 10 . 4096 bytes from . (ext3 /dev/mapper/coco-root): request=1 time=0.4 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=2 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=3 time=0.7 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=4 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=5 time=0.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=6 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=7 time=0.5 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=8 time=1.6 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=9 time=1.1 ms 4096 bytes from . (ext3 /dev/mapper/coco-root): request=10 time=0.5 ms --- . (ext3 /dev/mapper/coco-root) ioping statistics --- 10 requests completed in 9009.5 ms, 1437 iops, 5.6 mb/s min/avg/max/mdev = 0.4/0.7/1.6/0.3 ms
The download speed, compare to many other features of the VPS, seems to be less impressive, I was only able to clock about 6.6MB/s in the Cachefly download test:
wget cachefly.cachefly.net/100mb.test -O /dev/null --2011-11-13 01:43:00-- http://cachefly.cachefly.net/100mb.test Resolving cachefly.cachefly.net... 205.234.175.175 Connecting to cachefly.cachefly.net|205.234.175.175|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: a€?/dev/nulla€ 100%[======================================>] 104,857,600 6.02M/s in 15s 2011-11-13 01:43:15 (6.64 MB/s) - a€?/dev/nulla€
Upload tests appear to be pretty sluggish as well, probably due to the fact that the upload speed for this VPS is just 5Mbps:
First one is from BuffaloVPS in Chicago, IL:
wget 209.141.53.21/100mb.test -O /dev/null --2011-11-20 22:12:00-- http://209.141.53.21/100mb.test Connecting to 209.141.53.21:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `/dev/null' 100%[======================================>] 104,857,600 1.35M/s in 68s 2011-11-20 22:13:08 (1.47 MB/s) - `/dev/null' saved [104857600/104857600]
Unfortunately I do not have any VPS along the west coast at the moment other than BuyVM, and I thought it won’t be fair for me to test the network speed using a BuyVM VPS on another BuyVM VPS, so the only one upload test I have done is with my Quickweb VPS in London, UK:
wget 209.141.53.21/100mb.test -O /dev/null --2011-11-20 22:48:23-- http://209.141.53.21/100mb.test Connecting to 209.141.53.21:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `/dev/null' 100%[======================================>] 104,857,600 690K/s in 2m 50s 2011-11-20 22:51:14 (601 KB/s) - `/dev/null' saved [104857600/104857600]
Finally, the benchmark time. I was a little disappointed by the UnixBench, which is not bad by any means, however far from impressive, which I think may be because only one CPU core is available:
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: ******: GNU/Linux
OS: GNU/Linux -- 2.6.32-5-686 -- #1 SMP Mon Oct 3 04:15:24 UTC 2011
Machine: i686 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: QEMU Virtual CPU version (cpu64-rhel6) (4999.7 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
01:36:35 up 1 day, 1:31, 1 user, load average: 0.09, 0.04, 0.01; runlevel 2
------------------------------------------------------------------------
Benchmark Run: Mon Nov 14 2011 01:36:35 - 02:04:41
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 10999519.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2192.0 MWIPS (10.0 s, 7 samples)
Execl Throughput 853.1 lps (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 509030.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 177497.6 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 663822.2 KBps (30.0 s, 2 samples)
Pipe Throughput 1247695.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 93366.3 lps (10.0 s, 7 samples)
Process Creation 1701.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1595.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 205.1 lpm (60.3 s, 2 samples)
System Call Overhead 2006338.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10999519.0 942.5
Double-Precision Whetstone 55.0 2192.0 398.6
Execl Throughput 43.0 853.1 198.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 509030.5 1285.4
File Copy 256 bufsize 500 maxblocks 1655.0 177497.6 1072.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 663822.2 1144.5
Pipe Throughput 12440.0 1247695.4 1003.0
Pipe-based Context Switching 4000.0 93366.3 233.4
Process Creation 126.0 1701.5 135.0
Shell Scripts (1 concurrent) 42.4 1595.9 376.4
Shell Scripts (8 concurrent) 6.0 205.1 341.8
System Call Overhead 15000.0 2006338.0 1337.6
========
System Benchmarks Index Score 541.8
Second run showed slightly worse results:
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: *****: GNU/Linux
OS: GNU/Linux -- 2.6.32-5-686 -- #1 SMP Mon Oct 3 04:15:24 UTC 2011
Machine: i686 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: QEMU Virtual CPU version (cpu64-rhel6) (4999.7 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
03:14:06 up 1 day, 3:09, 2 users, load average: 0.00, 0.00, 0.00; runlevel 2
------------------------------------------------------------------------
Benchmark Run: Mon Nov 14 2011 03:14:06 - 03:42:10
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 10705898.6 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2035.6 MWIPS (10.3 s, 7 samples)
Execl Throughput 799.6 lps (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 465743.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 173604.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 757246.2 KBps (30.0 s, 2 samples)
Pipe Throughput 1202203.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 91617.3 lps (10.0 s, 7 samples)
Process Creation 1522.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1622.1 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 200.7 lpm (60.2 s, 2 samples)
System Call Overhead 1984013.3 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10705898.6 917.4
Double-Precision Whetstone 55.0 2035.6 370.1
Execl Throughput 43.0 799.6 186.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 465743.5 1176.1
File Copy 256 bufsize 500 maxblocks 1655.0 173604.4 1049.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 757246.2 1305.6
Pipe Throughput 12440.0 1202203.6 966.4
Pipe-based Context Switching 4000.0 91617.3 229.0
Process Creation 126.0 1522.5 120.8
Shell Scripts (1 concurrent) 42.4 1622.1 382.6
Shell Scripts (8 concurrent) 6.0 200.7 334.5
System Call Overhead 15000.0 1984013.3 1322.7
========
System Benchmarks Index Score 527.1
I have decided to give it yet another chance, and the result turned to be even worse:
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: *****: GNU/Linux
OS: GNU/Linux -- 2.6.32-5-686 -- #1 SMP Mon Oct 3 04:15:24 UTC 2011
Machine: i686 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: QEMU Virtual CPU version (cpu64-rhel6) (4999.7 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
04:28:06 up 1 day, 4:23, 2 users, load average: 0.00, 0.00, 0.06; runlevel 2
------------------------------------------------------------------------
Benchmark Run: Mon Nov 14 2011 04:28:06 - 04:56:10
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 10381211.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1973.2 MWIPS (10.3 s, 7 samples)
Execl Throughput 821.1 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 471626.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 168266.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 653099.1 KBps (30.0 s, 2 samples)
Pipe Throughput 1170591.1 lps (10.0 s, 7 samples)
Pipe-based Context Switching 87087.7 lps (10.0 s, 7 samples)
Process Creation 1749.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1574.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 200.6 lpm (60.3 s, 2 samples)
System Call Overhead 1964213.9 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10381211.9 889.6
Double-Precision Whetstone 55.0 1973.2 358.8
Execl Throughput 43.0 821.1 190.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 471626.8 1191.0
File Copy 256 bufsize 500 maxblocks 1655.0 168266.0 1016.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 653099.1 1126.0
Pipe Throughput 12440.0 1170591.1 941.0
Pipe-based Context Switching 4000.0 87087.7 217.7
Process Creation 126.0 1749.4 138.8
Shell Scripts (1 concurrent) 42.4 1574.4 371.3
Shell Scripts (8 concurrent) 6.0 200.6 334.4
System Call Overhead 15000.0 1964213.9 1309.5
========
System Benchmarks Index Score 519.3
The GeekBench results are pretty low as well:
System Information
Platform: Linux x86 (32-bit)
Compiler: GCC 4.1.2 20070925 (Red Hat 4.1.2-33)
Operating System: Linux 2.6.32-5-686 i686
Model: Linux PC (QEMU Virtual CPU version (cpu64-rhel6))
Motherboard: Unknown Motherboard
Processor: QEMU Virtual CPU version (cpu64-rhel6)
Processor ID: GenuineIntel Family 6 Model 13 Stepping 3
Logical Processors: 1
Physical Processors: 1
Processor Frequency: 2.50 GHz
L1 Instruction Cache: 64.0 KB
L1 Data Cache: 64.0 KB
L2 Cache: 512 KB
L3 Cache: 0.00 B
Bus Frequency: 0.00 Hz
Memory: 122 MB
Memory Type: N/A
SIMD: 1
BIOS: N/A
Processor Model: QEMU Virtual CPU version (cpu64-rhel6)
Processor Cores: 1
Integer
Blowfish
single-threaded scalar 1543 ||||||
multi-threaded scalar 1878 |||||||
Text Compress
single-threaded scalar 1922 |||||||
multi-threaded scalar 1831 |||||||
Text Decompress
single-threaded scalar 1698 ||||||
multi-threaded scalar 1710 ||||||
Image Compress
single-threaded scalar 1663 ||||||
multi-threaded scalar 1621 ||||||
Image Decompress
single-threaded scalar 1335 |||||
multi-threaded scalar 1344 |||||
Lua
single-threaded scalar 3162 ||||||||||||
multi-threaded scalar 3194 ||||||||||||
Floating Point
Mandelbrot
single-threaded scalar 1831 |||||||
multi-threaded scalar 1855 |||||||
Dot Product
single-threaded scalar 3304 |||||||||||||
multi-threaded scalar 3575 ||||||||||||||
single-threaded vector 2488 |||||||||
multi-threaded vector 2860 |||||||||||
LU Decomposition
single-threaded scalar 2117 ||||||||
multi-threaded scalar 2119 ||||||||
Primality Test
single-threaded scalar 2647 ||||||||||
multi-threaded scalar 2091 ||||||||
Sharpen Image
single-threaded scalar 5684 ||||||||||||||||||||||
multi-threaded scalar 5648 ||||||||||||||||||||||
Blur Image
single-threaded scalar 4221 ||||||||||||||||
multi-threaded scalar 4173 ||||||||||||||||
Memory
Read Sequential
single-threaded scalar 1620 ||||||
Write Sequential
single-threaded scalar 2426 |||||||||
Stdlib Allocate
single-threaded scalar 1881 |||||||
Stdlib Write
single-threaded scalar 1023 ||||
Stdlib Copy
single-threaded scalar 584 ||
Stream
Stream Copy
single-threaded scalar 1420 |||||
single-threaded vector 1358 |||||
Stream Scale
single-threaded scalar 984 |||
single-threaded vector 1321 |||||
Stream Add
single-threaded scalar 1377 |||||
single-threaded vector 1247 ||||
Stream Triad
single-threaded scalar 1255 |||||
single-threaded vector 1165 ||||
Integer Score: 1908 |||||||
Floating Point Score: 3186 ||||||||||||
Memory Score: 1506 ||||||
Stream Score: 1265 |||||
Overall Geekbench Score: 2210 ||||||||
Test again showed exactly the same overall score, although the section subscores are different:
System Information
Platform: Linux x86 (32-bit)
Compiler: GCC 4.1.2 20070925 (Red Hat 4.1.2-33)
Operating System: Linux 2.6.32-5-686 i686
Model: Linux PC (QEMU Virtual CPU version (cpu64-rhel6))
Motherboard: Unknown Motherboard
Processor: QEMU Virtual CPU version (cpu64-rhel6)
Processor ID: GenuineIntel Family 6 Model 13 Stepping 3
Logical Processors: 1
Physical Processors: 1
Processor Frequency: 2.50 GHz
L1 Instruction Cache: 64.0 KB
L1 Data Cache: 64.0 KB
L2 Cache: 512 KB
L3 Cache: 0.00 B
Bus Frequency: 0.00 Hz
Memory: 122 MB
Memory Type: N/A
SIMD: 1
BIOS: N/A
Processor Model: QEMU Virtual CPU version (cpu64-rhel6)
Processor Cores: 1
Integer
Blowfish
single-threaded scalar 1690 ||||||
multi-threaded scalar 1832 |||||||
Text Compress
single-threaded scalar 1918 |||||||
multi-threaded scalar 1744 ||||||
Text Decompress
single-threaded scalar 1730 ||||||
multi-threaded scalar 1737 ||||||
Image Compress
single-threaded scalar 1448 |||||
multi-threaded scalar 1616 ||||||
Image Decompress
single-threaded scalar 1326 |||||
multi-threaded scalar 1366 |||||
Lua
single-threaded scalar 3213 ||||||||||||
multi-threaded scalar 3183 ||||||||||||
Floating Point
Mandelbrot
single-threaded scalar 1803 |||||||
multi-threaded scalar 1825 |||||||
Dot Product
single-threaded scalar 3317 |||||||||||||
multi-threaded scalar 3538 ||||||||||||||
single-threaded vector 2445 |||||||||
multi-threaded vector 2883 |||||||||||
LU Decomposition
single-threaded scalar 1991 |||||||
multi-threaded scalar 1570 ||||||
Primality Test
single-threaded scalar 2670 ||||||||||
multi-threaded scalar 2161 ||||||||
Sharpen Image
single-threaded scalar 5483 |||||||||||||||||||||
multi-threaded scalar 4881 |||||||||||||||||||
Blur Image
single-threaded scalar 4177 ||||||||||||||||
multi-threaded scalar 4096 ||||||||||||||||
Memory
Read Sequential
single-threaded scalar 1815 |||||||
Write Sequential
single-threaded scalar 2795 |||||||||||
Stdlib Allocate
single-threaded scalar 1930 |||||||
Stdlib Write
single-threaded scalar 905 |||
Stdlib Copy
single-threaded scalar 527 ||
Stream
Stream Copy
single-threaded scalar 1365 |||||
single-threaded vector 1752 |||||||
Stream Scale
single-threaded scalar 1753 |||||||
single-threaded vector 1795 |||||||
Stream Add
single-threaded scalar 1402 |||||
single-threaded vector 1655 ||||||
Stream Triad
single-threaded scalar 1518 ||||||
single-threaded vector 1259 |||||
Integer Score: 1900 |||||||
Floating Point Score: 3060 ||||||||||||
Memory Score: 1594 ||||||
Stream Score: 1562 ||||||
Overall Geekbench Score: 2210 ||||||||
Conclusion
As you can see, although the disk I/O seems to be pretty good, the fact that there is only one CPU core available seems to cause the VPS to show pretty low benchmark score, the network speed could be better as well. However, for 25 USD per year, there is really little to complain about and this VPS is able to run pretty well as a basic web server or VPN server which does require a lot of CPU intensive tasks.
In the next post, we shall take a look at the performance of the 512MB VPS, and see if we will be getting better performance by paying more, as well as a discussion on BuyVM’s customer service.

Just paid my third monthly invoice at BuyVM and loving the experience there! Usually I am a bit of a host hopper and move on from month to month however something they’re doing is keeping me there.
Thanks for the review too
@ixape: you are most welcome! Let me guess…you choose them because of their control panel? Instant rDNS for both IPv4 and IPv6? Free internal traffic via LAN? Or something else? They do have a lot goodies in the services and I have to say that is something really great about them!
Don’t actually use IPV6 but it is an advantage – spare IPs in-case of a DoS attack to access the VM on.
The free internal traffic via LAN is a very very nice plus combined with the 5GB free storage space. I upload files to the FTP space which isn’t restricted on bandwidth and then transfer it across to my VM over the local LAN.
Your network speeds are because you’re using the RTL8139 NIC
If you swapped to either E1000 or Virtio it would work much better.
Our panel, while looking like solus, is actually ‘stallion’ our own inhouse panel. We’re the only KVM provider that has full controls to swap ethernet & IDE drivers from the client side (everyone else has to use it on the admin end).
Thanks for the review!
Francisco
@Francisco: You are always welcome. Right, I forgot the part about Stallion, sorry about that
I have just changed the NIC card to VIRTIO, shutdown and then boot the VPS from the control panel and here is what I got:
With BuffaloVPS in Chicago, IL:
wget 209.141.53.21/100mb.test -O /dev/null
–2011-11-22 08:55:23– http://209.141.53.21/100mb.test
Connecting to 209.141.53.21:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null’
100%[======================================>] 104,857,600 1.38M/s in 77s
2011-11-22 08:56:40 (1.30 MB/s) – `/dev/null’ saved [104857600/104857600]
Quickweb VPS in London, UK:
wget 209.141.53.21/100mb.test -O /dev/null
–2011-11-22 08:58:07– http://209.141.53.21/100mb.test
Connecting to 209.141.53.21:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `/dev/null’
100%[======================================>] 104,857,600 793K/s in 2m 43s
2011-11-22 09:00:51 (627 KB/s) – `/dev/null’ saved [104857600/104857600]
I am not sure if that is a significant improvement compare to the results I have obtained using the RTL card (1.47MB/s using BuffaloVPS and 601KB/s using Quickweb)
download is better though:
wget cachefly.cachefly.net/100mb.test -O /dev/null
–2011-11-22 21:53:59– http://cachefly.cachefly.net/100mb.test
Resolving cachefly.cachefly.net… 205.234.175.175
Connecting to cachefly.cachefly.net|205.234.175.175|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: “/dev/nullâ€
100%[======================================>] 104,857,600 8.87M/s in 11s
2011-11-22 21:54:10 (9.17 MB/s) – “/dev/nullâ€
You should still be more like 30 – 40MB/sec to cachefly on E1000 and like….80MB/sec on virtio_net :S Mind ticketing over it? It’s possible there’s a bigger issue at hand or you’re getting hit with some speed caps somewhere.
I don’t remember asking for 128MB’s to be capped but it’s possible it’s happening!
Francisco
@Francisco: I did another test just now and it looks a lot better:
wget cachefly.cachefly.net/100mb.test -O /dev/null
–2011-11-26 23:57:23– http://cachefly.cachefly.net/100mb.test
Resolving cachefly.cachefly.net… 205.234.175.175
Connecting to cachefly.cachefly.net|205.234.175.175|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: â/dev/nullâ
100%[======================================>] 104,857,600 32.8M/s in 3.1s
2011-11-26 23:57:27 (32.8 MB/s) – â/dev/nullâ
I am using VIRTIO for NIC card at the moment, so although it is less than 80MB/sec, it is still pretty good….
Pingback: 96MB Low End VPS Review Part XXXVII – BuyVM KVM Series (Part 2 of 2) | | 96MB.com96MB.com
Pingback: BuyVM – $25/Year KVM VPS in Buffalo, NY – Low End Box