myhosting.com Linux VPS Review

By | 2011/12/08

myhosting.com provides Linux VPS hosting for cheap. I recently had the opportunity for an in-depth test drive and so here is the scottlinux review!


myhosting.com Linux VPS offerings runs on Virtuozzo Containers, the commercial version of OpenVZ offered by Parallels. Wikipedia has some general details on how this works and also some of the limitations. It is a pretty hip technology.

$15.95 / month as a base gets the following:

  • 20GB disk
  • 512 ram
  • 300GB Bandwidth
  • 1 ip
  • 1 Ghz dual core Xeon (pay for more CPU Ghz if needed)
  • root ssh access
  • 24/7 support
  • Debian or CentOS Linux (64bit)
  • Pick your data center: USA (NY) or Canada (ON)
  • Managed VPS – myhosting.com takes care of updates
  • Automated backups ~$10 extra
  • Fantastico and other related services available for extra
  • Ready in 1 hour for bare bones VPS, more time required for more elaborate configurations

Other tidits to consider:

  • No ipv6 at the moment
  • There is no indication on myhosting.com of what versions of Debian or CentOS are actually offered. Ex: I chose ‘Debian’ on the order page and the VPS is Debian Lenny (5.0) the older version of Debian which will be EOL in February 2012. It is unknown if CentOS offered is 5 or 6 based on the myhosting.com VPS ordering page. (I did contact technical support to ask and Debian 5 is currently the only offered version of Debian.)
  • There does not appear to be a way to restrict access to the Parallels web control panel (more on that later). For the uber security geek, users may want to restrict access to this by ip, a second apache auth, or other means.
  • root logins are used to access the Parallels control panel from the web over https. Typically in good practice Linux users are icky about ever logging in as root though most Linux web-based control panels all just use the root account as is done here.


I decided to give the bare bones Debian VPS a spin!

Once inside your myhosting.com account, the VPS section has a link to the Parallels Virtual Automation control panel which is an https link over port 4643.

The Parallels control panel has a variety of sysadmin-type options. For Linux servers, most of us would do this sort of thing via the command line. But for persons new to Linux, or persons wanting a completely web-based interface to manage their Linux VPS, this implementation is quite good.

Options include things such as package management, firewall configurations, resource monitoring, and a java applet ssh window. The only downside is no user or group management nor service management.


So how is the performance?

CPU is two Xeon E5620 cores, though depending on your plan the Ghz is set or capped. I am trying out a 1Ghz capped plan, so performance is what you would expect for 1Ghz. This is more than enough CPU for your typical LAMP development box or general web server.

Geekbench: 1430 (Note that CPU is capped to 1Ghz for this particular VPS plan I am testing)

Processor:

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping        : 2
cpu MHz         : 502.660
cache size      : 12288 KB
physical id     : 1
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 32
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips        : 4788.13
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: [8]

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping        : 2
cpu MHz         : 502.660
cache size      : 12288 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips        : 4788.11
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: [8]

Debian is wonderful for sipping ram. Only using 23MB of ram:

$ free -m
             total       used       free     shared    buffers     cached
Mem:           512         23        488          0          0          0
-/+ buffers/cache:         23        488
Swap:            0          0          0

Entry level plans start with 20GB of disk space, which is actually pretty good compared to other VPS providers.

$ df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/vzfs                20480        50     20431   1% /
tmpfs                      256         0       256   0% /lib/init/rw
tmpfs                      256         0       256   0% /dev/shm


Network

Performance

Inbound 573MB iso from Fremont DC to myhosting.com NY DC:

Peaked at 3.78M/s

vps-1076606-6335:~# wget http://xxxxxxxxxxxx/test.iso
--2011-12-08 13:11:17--  http://xxxxxxxxxxxx/test.iso
Connecting to xxxxxxxxxxxx:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 600834048 (573M) [application/x-iso9660-image]
Saving to: `test.iso'

100%[=========================================>] 600,834,048 2.79M/s   in 4m 25s  

2011-12-08 13:15:42 (2.16 MB/s) - `test.iso' saved [600834048/600834048]

Outbound 573MB iso from NY myhosting.com DC to Fremont DC:

Peaked at 7.08M/s

$ wget http://108.59.250.76/test.iso
--2011-12-08 10:26:33--  http://108.59.250.76/test.iso
Connecting to 108.59.250.76:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 600834048 (573M) [application/x-iso9660-image]
Saving to: `test.iso'

100%[=========================================>] 600,834,048 7.00M/s   in 2m 15s  

2011-12-08 10:28:48 (4.24 MB/s) - `test.iso' saved [600834048/600834048]

$ cat /etc/network/interfaces
# This configuration file is auto-generated.
# WARNING: Do not edit this file, otherwise your changes will be lost.
# Please edit template /etc/network/interfaces.template instead.


auto lo
iface lo inet loopback
        address 127.0.0.1
        netmask 255.0.0.0
        broadcast 127.255.255.255
        up ip route replace 127.0.0.0/8 dev lo


# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
        address 127.0.0.1
        netmask 255.255.255.255
        broadcast 0.0.0.0

        up route add default dev venet0


iface venet0 inet6 static
        address ::1
        netmask 128

        up ip -6 r a default dev venet0

auto venet0:0
iface venet0:0 inet static
        address 108.59.250.76
        netmask 255.255.255.255

(Note: ifconfig looks odd, but is typical of OpenVZ containers)

$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:10018 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10018 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:963362 (940.7 KiB)  TX bytes:963362 (940.7 KiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: ::1/128 Scope:Host
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:45406 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21088 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:59283838 (56.5 MiB)  TX bytes:2155281 (2.0 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:108.59.250.76  P-t-P:108.59.250.76  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Default ports open from initial install. I then disabled the bind service to prevent port 53 from being open serving DNS:

$ sudo nmap 108.59.250.76 -Pn

Starting Nmap 5.51 ( http://nmap.org ) at 2011-12-07 20:09 EST
Nmap scan report for vps-1076606-6335.manage.myhosting.com (108.59.250.76)
Host is up (0.095s latency).
Not shown: 950 filtered ports, 46 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
8443/tcp open  https-alt

Nmap done: 1 IP address (1 host up) scanned in 9.83 seconds

$ cat /etc/resolv.conf 
nameserver 168.144.1.130

$ cat /etc/hosts       
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
108.59.250.76 vps-1076606-6335.manage.myhosting.com vps-1076606-6335


Disk performance

I am unable to run hdparm as expected when using OpenVZ:

# hdparm -t /dev/vzfs
/dev/vzfs: Permission denied

There is always bonnie:

$ bonnie++
Using uid:0, gid:0.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.03d       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
vps-1076606-6335 1G 22612  42 157628  40 169664  30 25806  42 1448951  42 +++++ +++
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 32643  78 +++++ +++ 28439  42 23222  41 +++++ +++ 30738  42
vps-1076606-6335.manage.myhosting.com,1G,22612,42,157628,40,169664,30,25806,42,1448951,42,+++++,+++,16,32643,78,+++++,+++,28439,42,23222,41,+++++,+++,30738,42



mysql Performance

sql-bench results, using the following test:

vps-1076606-6335:/usr/share/mysql/sql-bench# ./run-all-tests --server=mysql --user=root --password=mypassword  --log

Results(.zip)


Apache benchmark against static empty html page from a Fremont, CA DC:

$ ab -n 1000 -c 100 http://108.59.250.76/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 108.59.250.76 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        Apache/2.2.9
Server Hostname:        108.59.250.76
Server Port:            80

Document Path:          /
Document Length:        45 bytes

Concurrency Level:      100
Time taken for tests:   5.206 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      349000 bytes
HTML transferred:       45000 bytes
Requests per second:    192.10 [#/sec] (mean)
Time per request:       520.568 [ms] (mean)
Time per request:       5.206 [ms] (mean, across all concurrent requests)
Transfer rate:          65.47 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       74   75   0.8     75      79
Processing:    75  436 285.0    299    1198
Waiting:       75  436 285.0    299    1198
Total:        150  511 285.2    375    1277

Percentage of the requests served within a certain time (ms)
  50%    375
  66%    600
  75%    709
  80%    824
  90%    974
  95%   1057
  98%   1133
  99%   1147
 100%   1277 (longest request)

myhosting.com Linux VPS is an excellent choice for users looking for a good step up from shared hosting or those looking for a managed OpenVZ/Virtuozzo provider. It is possible to run and admin the entire Linux VPS completely from the web Parallels Virtual Automation portal which can be a sweet feature for those looking for an easy to use a VPS without having to have to crack open a terminal. The offering prices are very competitive to other VPS providers, especially when taking in consideration having fully managed patches.

Go check it out! (myhosting.com)