96MB Low End VPS Review Part III – BuyVM
BuyVM pretty much the most contentious brand in the low end VPS industry, primarily due to its ability to offer one of the cheapest low end box in the industry, the famous 15 USD per year plan. The post on LowEndBox has generated more than 300 comments, perhaps more than any other posts that have ever generated, and according to this post, they basically need to answer the doubts about their profitability almost every week.
Basically, for 15 USD per year, here is what you will be getting:
All of their VPS offered are co-located in the data centre of Hurricane Electric in Fremont, CA.
Domain name was registered barely last year and the registrant is based in Victoria, BC, Canada:
and name servers seem to have different IP blocks, which is, as usual, a good thing:
The interesting part is that their company website seems to be using their own network (or at least their own IP block for that matter) and it could be viewed as good or bad. The good side of it shows the confidence they have in their own network, and obviously the downside is if their network is down, so is their support system.
Set up is almost instant for both of my VPS (both are 15 per year package). However as usual, delays in orders are inevitable if the orders are marked for fraud checks.
Panel is the standard SolusVM, and the standard functionality available,
however I have yet to see them enable the reverse-DNS set up functionality (Edit: the owner of BuyVM, Francisco, has pointed out that they actually have not only reverse DNS for IPV4, but rDNS for IPV6 as well, which is will show once you click on the IP Address icon):
They have a pretty good selection of OS, including the new Debian 6, which is something many people ask for. They have pretty much all of the recent distributions of Ubuntu, which is my favourite OS.
Tests on VPS
I used the VPS that has been migrated to their newer hardware platform, which is supposed to give pretty impressive performance:
First, some basic information:
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 26 model name : Intel(R) Xeon(R) CPU E5520 @ 2.27GHz stepping : 5 cpu MHz : 2260.998 cache size : 8192 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm bogomips : 5654.53 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management:
And the beancounters:
cat /proc/user_beancounters Version: 2.5 uid resource held maxheld barrier limit failcnt 11183: kmemsize 2496060 26294271 2147483646 2147483646 0 lockedpages 0 2 999999 999999 0 privvmpages 26049 39722 65536 65536 0 shmpages 1672 2968 32768 32768 0 dummy 0 0 0 0 0 numproc 18 44 999999 999999 0 physpages 15516 21550 0 2147483647 0 vmguarpages 0 0 32768 2147483647 0 oomguarpages 16459 21554 32768 2147483647 0 numtcpsock 9 11 7999992 7999992 0 numflock 1 3 999999 999999 0 numpty 1 1 500000 500000 0 numsiginfo 0 3 999999 999999 0 tcpsndbuf 175320 271592 214748160 396774400 0 tcprcvbuf 147456 2765512 214748160 396774400 0 othersockbuf 9312 195272 214748160 396774400 0 dgramrcvbuf 0 10800 214748160 396774400 0 numothersock 7 14 7999992 7999992 0 dcachesize 0 0 2147483646 2147483646 0 numfile 626 1062 23999976 23999976 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 numiptent 24 24 999999 999999 0
Here is the UnixBench results:
======================================================================== BYTE UNIX Benchmarks (Version 5.1.3) System: ******: GNU/Linux OS: GNU/Linux -- 2.6.18-238.5.1.el5.pony4-1 -- #8 SMP Sun Mar 20 21:57:12 PDT 2011 Machine: i686 (unknown) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (5654.5 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET 10:47:42 up 2 days, 4:59, 1 user, load average: 0.01, 0.14, 0.33; runlevel 2 ------------------------------------------------------------------------ Benchmark Run: Sat Apr 09 2011 10:47:42 - 11:15:44 1 CPU in system; running 1 parallel copy of tests Dhrystone 2 using register variables 11885241.2 lps (10.0 s, 7 samples) Double-Precision Whetstone 2330.6 MWIPS (10.2 s, 7 samples) Execl Throughput 1454.0 lps (29.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 204734.5 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 54159.9 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 578846.9 KBps (30.0 s, 2 samples) Pipe Throughput 308813.5 lps (10.0 s, 7 samples) Pipe-based Context Switching 83265.9 lps (10.0 s, 7 samples) Process Creation 3621.1 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 2149.3 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 279.2 lpm (60.2 s, 2 samples) System Call Overhead 240601.9 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 11885241.2 1018.4 Double-Precision Whetstone 55.0 2330.6 423.7 Execl Throughput 43.0 1454.0 338.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 204734.5 517.0 File Copy 256 bufsize 500 maxblocks 1655.0 54159.9 327.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 578846.9 998.0 Pipe Throughput 12440.0 308813.5 248.2 Pipe-based Context Switching 4000.0 83265.9 208.2 Process Creation 126.0 3621.1 287.4 Shell Scripts (1 concurrent) 42.4 2149.3 506.9 Shell Scripts (8 concurrent) 6.0 279.2 465.4 System Call Overhead 15000.0 240601.9 160.4 ======== System Benchmarks Index Score 393.7
Yes, you saw it right, the UnixBench result is almost 400, which is way better than most of the low end VPS (if not all) with similar specifications. In fact, may of the 1GB RAM VPS could not achieve this, truly impressive!
The network download speed seems pretty impressive as well:
wget cachefly.cachefly.net/100mb.test -O /dev/null --2011-04-09 11:19:26-- http://cachefly.cachefly.net/100mb.test Resolving cachefly.cachefly.net... 188.8.131.52 Connecting to cachefly.cachefly.net|184.108.40.206|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 104857600 (100M) [application/octet-stream] Saving to: `/dev/null' 100%[=======================================================================================================================================>] 104,857,600 61.9M/s in 1.6s 2011-04-09 11:19:28 (61.9 MB/s) - `/dev/null' saved [104857600/104857600]
Yes, once again, you read it right, 61.9MB/s.
However, this is not very consistent, and here is the results that I have achieved by downloading a file in Netherland:
wget http://servermars.nl/1000mb.bin -O /dev/null --2011-04-09 11:31:53-- http://servermars.nl/1000mb.bin Resolving servermars.nl... 220.127.116.11 Connecting to servermars.nl|18.104.22.168|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1048576000 (1000M) [application/octet-stream] Saving to: `/dev/null' 100%[=====================================================================================================================================>] 1,048,576,000 550K/s in 36m 21s 2011-04-09 12:08:15 (470 KB/s) - `/dev/null' saved [1048576000/1048576000]
Although obviously it could be slow due to the server that the file is downloaded from.
The bigger problem though, is the disk I/O is very inconsistent as well. Here are the results of 2 tests which were carried out 8 hours apart:
dd if=/dev/null of=test bs=64k count=16k conv=fdatasync 1600+0 records in 1600+0 records out 104857600 bytes (105 MB) copied, 0.480146 s, 218 MB/s
As you could see, the result of this test is pretty impressive with 218MB/s I/O speed.
Here is the result of the second test, which used a much larger file (1GB), I have repeated the command consecutively and the files are exactly the same:
dd if=/dev/null of=test bs=64k count=16k conv=fdatasync 16000+0 records in 16000+0 records out 1048576000 bytes (1.0 GB) copied, 16.9567 s, 61.8 MB/s
Although the second time is immediately after the completion of the first set, the result seems to be a lot better:
dd if=/dev/null of=test bs=64k count=16k conv=fdatasync 16000+0 records in 16000+0 records out 1048576000 bytes (1.0 GB) copied, 8.42256 s, 124 MB/s
Therefore, the performance of the VPS is pretty inconsistent, which is something the buyers should be aware of.
When everything runs, there is nothing to worry about, the true tests comes when problem occurs. Unfortunately, the ticketing system of BuyVM is largely unresponsive. I have submitted 2 tickets before and closed both of them after unable to receive the answer within 24 hours. The third one was answered after I contacted them via Twitter, however the email exchanges were not exactly the answer I was looking for.
Having said that, they have an active IRC channel available here which is very active and after unable to get an answer with my third ticket, I went to the IRC channel and got exactly the answer I need within 30 seconds! However, do note that as IRC Channel is a public source, you may sometimes get pretty weird people, just ignore them and try to find one that will give you the answers you are looking for.
Overall, I would say the support is relatively sluggish, with Twitter and IRC channel being perhaps the best way to get a response. However, they have stated that the VPS is unmanaged, and for 15 USD per year, that is really what you would expect.
BuyVM’s AUP is pretty simple, almost everything legal and do not attract DDOS will be allowed. Note that they do not offer refund for their services, as stated here, therefore once you pay, you are locked in to a year on their 15 USD per year plan.
Also, due to the fact that they are out of stock 99% of the time (most recent rumour states that the stock should be available any time now), there is actually a website which you can quickly check to see if BuyVM has stock here, which I think is a first for the budget VPS providers.
Finally, one (actually two) last good thing(s) about BuyVM that came across my mind: TUN/TAP is enabled by default, so it would be instantaneous setup for OpenVPN and they give 16 IPV6 address with each one of the VPS, more than enough for pretty much any use I can think of in this tiny box.
Edit: Another service free add-on service, as Francisco has pointed out, is the BuyVM+ service, which essentially is a restricted CPanel that provides the nameserver and free FTP backup space for those who have a VPS (5GB of backup space), and if you are willing to pay a dollar more per month, you get unlimited number of database in their MySQL cluster as well, which could take off a major portion of RAM from your VPS. More information can be found on this post in WHT.
For the price of 15USD per year, it is surprising that the BuyVM could offer a 128MB VPS that works pretty well most of the time. However, as usual, you get what you pay, the disk I/O and network speed can be quite unstable and the support is pretty sluggish in general except the IRC Channel and Twitter. Therefore, it is only recommended for non-critical systems and the owner should be pretty familiar with Linux and/or willing to Google to find answers. As it comes with TUN/TAP enabled by default, it would be a great box for VPN purposes.