When you want a step up from shared hosting or wish for more freedom to install your own software (such as a VPN), a VPS can be a solution.
But how do you know if your provider respects your privacy?
Enter HarborVPS: the Canadian-owned Swiss VPS company.
Why Switzerland? Switzerland has one of the strictest privacy set of laws in the world. Situated right in the centre of Europe - yet not part of the European Union - Switzerland is at an ideal place for connectivity, with access to AMS-IX and other important exchanges.
But Swiss VPS offers often have a significant problem: their price. Being an almost exotic location, Swiss virtual private servers often come at a premium.
The Promise
HarborVPS's motto is "Privacy + Performance". The Privacy part is firstly based upon the very location of the servers: Switzerland. It is also linked to the AUP and TOS which allow private VPN services. But what about performance? How does it fare compared to the standards of the industry, namely DigitalOcean and Vultr?
The offer I tested is the smallest and most affordable: Raft at USD 6.95 per month.
It includes 1 vCPU at 3.3Ghz (turbo speed), 512 MB of DDR3 RAM, 256 MB SWAP, 15 GB of RAID SSD storage, and only 500 GB of transfer with 1 IPv4 address.
The Reality
HarborVPS colocate their servers in Zurich at PrivateLayer - which means they own their hardware instead of leasing it. PrivateLayer are well-known in the world of VPNs, as they are the datacenters often used by providers for their Swiss location. Private Internet Access and Speedify both have their Swiss server at PrivateLayer for example.
VPS creation
Signing up to HarborVPS is quite a standard process: as with all WHMCS-powered control panels, you'll be asked to input a domain name for your VPS. While this step could seem weird at first, it is part of the usual signup funnel for this particular platform.
When validating your order, you'll have to create an account in the billing area of HarborVPS.
Payment can be made either with Paypal, pre-paid debit cards or cryptocurrencies.
VPS setup took less than 5 minutes, as it was fully automatic.
You can choose among a limited list of OS templates, which for now include
- CentOS 7
- Debian 8 or 9
- Ubuntu 16.04, 16.10, 17.04 or 17.10
Control Panel
The control panel is Proxmox, which allows for starting/stopping your VPS, reinstalling from a template, and other usual tasks.
One thing to note is that backups are included in the price, a feature seldom present in unmanaged VPS offers. There are both automatic backups and the possibility to make your own; although creating a snapshot erases the previously saved one. Snapshots and backups cannot be downloaded - but you can restore them easily.
The network
Connectivity for a private server is critical: peering and routing differs from provider to provider. This determines the latency your visitors or users will experience between their devices and your server - or your browsing experience if your use the VPS for VPN purposes.
HarborVPS advertise a 10Gbit/s network. This is obviously not the bandwidth dedicated to your particular VPS, but to the hypervisor. In other words, you share this massive bandwidth capacity with other customers whose VPS is on the same physical machine.
Still, you can expect at least over 100 Mbps for the upload speed, and around 500 Mbps for the download part.
Unfortunately, the network is limited to only 500 GB on the smallest plan.
CPU Performance
Unlike with some VPS offers, you won't find old-as-dirt processors straight from the bargain bin, or as it is often the case, the latest ebay decommissioned server lot auction. All HarborVPS's servers are of the SuperMicro brand, with Dual Xeon E5-2670.
Unixbench reports a single-core CPU performance of around 600, which is decidedly average.
Disk Performance
Disk access is fast, but does not seem to be the newer type of SSD: NVMe, which would allow for speeds even greater than SATA 3 can achieve.
About LXC
Virtualisation types for Virtual Private Servers do not come with the same degree of freedom.
The cheapest system is OpenVZ, which you will often find in low-end VPS offers. With OpenVZ, your kernel is shared. As such, this type of virtualisation can offer better performance at the expanse of limited customisation and a shared kernel from the last decade. With OpenVZ, you are stuck with a GNU/Linux kernel from the 2.6 branch.
At the other end of the spectrum, KVM is full virtualisation: you can install whatever OS you want on it, even BSD variants and Windows.
LXC, which stands for Linux Containers is in the middle. An LXC VPS is not exactly a full-fledged Virtual Machine, but allows for more recent kernels than OpenVZ.
One interesting fact is that LXC is actually the precursor to Docker, the now-ubiquitous container format. Yet, trying to install Docker on a LXC VPS will fail, as it would require disabling SELinux on the host machine - which would put the segregation of users' data at risk.
Support
Support is fast and usually replies under an hour. You can raise a ticket in the client area, or use the live chat widget on the homepage.
More surprisingly, support is also available through the Telegram messenger app.
Benchmarks
Here are some benchmarks, executed with a freshly-installed system. ServerScope benchmark was unable to complete because of LXC-related errors.
Benchmark started on 16-Apr-2018 23:28:30
## System Information
OS Name : Ubuntu 16.04.4 LTS (64 bit)
Kernel : Dedicated / 4.13.16-2-pve
Hostname : lxctest
CPU Model : Genuine Intel(R) CPU @ 2.30GHz
CPU Cores : 1 core @ 2299.948 MHz
CPU Cache : 25600 KB
Total RAM : 512 MiB (Free 489 MiB)
Total SWAP : 768 MiB (Free 756MiB)
Total Space : 47GB (1% used)
Running for : 5hrs 10min 22sec
## CDN Speedtest
CacheFly : 115.27 MiB/s | 922.13 Mbps | ping 10.939ms
CDN.net : 54.74 MiB/s | 437.95 Mbps | ping 19.111ms
Gdrive : 30.02 MiB/s | 240.13 Mbps | ping 11.108ms
## North America Speedtest
Softlayer, Washington, USA : 10.80 MiB/s | 86.39 Mbps | ping 98.551ms
SoftLayer, San Jose, USA : 1.67 MiB/s | 13.33 Mbps | ping 158.491ms
SoftLayer, Dallas, USA : 883.79 KiB/s | 6.90 Mbps | ping 165.203ms
Vultr, New Jersey, USA : 23.49 MiB/s | 187.91 Mbps | ping 93.972ms
Vultr, Seattle, USA : 10.92 MiB/s | 87.39 Mbps | ping 154.788ms
Vultr, Dallas, USA : 14.06 MiB/s | 112.47 Mbps | ping 131.861ms
Vultr, Los Angeles, USA : 8.17 MiB/s | 65.38 Mbps | ping 162.471ms
Ramnode, New York, USA : 11.75 MiB/s | 94.02 Mbps | ping 97.160ms
Ramnode, Atlanta, USA : 8.87 MiB/s | 71.00 Mbps | ping 110.235ms
OVH, Beauharnois, Canada : 346.07 KiB/s | 2.70 Mbps | ping 100.089ms
## Europe Speedtest
Vultr, London, UK : 86.64 MiB/s | 693.13 Mbps | ping 24.287ms
LeaseWeb, Frankfurt, Germany : 169.38 MiB/s | 1355.05 Mbps | ping error!
Hetzner, Germany : 87.13 MiB/s | 697.07 Mbps | ping 14.142ms
Ramnode, Alblasserdam, NL : 75.86 MiB/s | 606.87 Mbps | ping 19.251ms
Vultr, Amsterdam, NL : 120.06 MiB/s | 960.46 Mbps | ping 16.136ms
EDIS, Stockholm, Sweden : 19.11 MiB/s | 152.90 Mbps | ping 31.512ms
OVH, Roubaix, France : 70.86 MiB/s | 566.86 Mbps | ping 18.364ms
Online, France : 47.79 MiB/s | 382.34 Mbps | ping 33.264ms
Prometeus, Milan, Italy : 169.77 MiB/s | 1358.13 Mbps | ping 1.788ms
## Exotic Speedtest
Sydney, Australia : 523.93 KiB/s | 4.09 Mbps | ping 311.219ms
Lagoon, New Caledonia : 107.76 KiB/s | 0.84 Mbps | ping 333.545ms
Hosteasy, Moldova : 2.70 MiB/s | 21.57 Mbps | ping 42.740ms
Prima, Argentina : 0 B/s | N/A | ping error!
## Asia Speedtest
SoftLayer, Singapore : 866.79 KiB/s | 6.77 Mbps | ping 187.742ms
Linode, Tokyo, Japan : 191.19 KiB/s | 1.49 Mbps | ping 268.876ms
Linode, Singapore : 1.31 MiB/s | 10.46 Mbps | ping 257.957ms
Vultr, Tokyo, Japan : 4.63 MiB/s | 37.05 Mbps | ping 252.981ms
## IO Test
CPU Speed:
bzip2 512MB - 72.1 MB/s
sha256 512MB - 126 MB/s
md5sum 512MB - 334 MB/s
Disk Speed (512MB):
I/O Speed - 2.0 GB/s
I/O Direct - 158 MB/s
RAM Speed (256MB):
Avg. write - 2116.3 MB/s
Avg. read - 4949.3 MB/s
Benchmark finished in 137 seconds
nench.sh v2018.04.14 -- https://git.io/nench.sh
benchmark timestamp: 2018-04-28 11:54:47 UTC
-------------------------------------------------
Processor: Genuine Intel(R) CPU @ 2.30GHz
CPU cores: 1
Frequency: 1989.102 MHz
RAM: 512M
Swap: 768M
Kernel: Linux 4.13.16-2-pve x86_64
Disks:
sda 465.8G SSD
sdb 465.8G SSD
sdc 2.7T HDD
zd0 8G SSD
zd16 50G SSD
zd32 50G SSD
CPU: SHA256-hashing 500 MB
4.101 seconds
CPU: bzip2-compressing 500 MB
7.187 seconds
CPU: AES-encrypting 500 MB
2.517 seconds
ioping: seek rate
ioping.static: fcntl(O_DIRECT) failed, please retry without option -D: Invalid argument
ioping: sequential read speed
ioping.static: fcntl(O_DIRECT) failed, please retry without option -D: Invalid argument
dd: sequential write speed
1st run: 1239.78 MiB/s
2nd run: 1239.78 MiB/s
3rd run: 1239.78 MiB/s
average: 1239.78 MiB/s
IPv4 speedtests
your IPv4: 81.17.19.xxxx
Cachefly CDN: 114.43 MiB/s
Leaseweb (NL): 53.81 MiB/s
Softlayer DAL (US): 0.98 MiB/s
Online.net (FR): 53.94 MiB/s
OVH BHS (CA): 6.40 MiB/s
No IPv6 connectivity detected
-----------------------------------------------
Verdict
If you're looking for a privacy-minded VPS company, a Swiss VPS at HarborVPS might be a great choice for you - unless you can't live without Docker.
The good
- Location: privacy-respecting Switzerland
- Fast support both by ticket and chat
- Fast disk and RAM
- Fast network
- Privacy policy that respects you
The bad
- Very limited data allowance (because it is an expensive location)
- Limited number of templates
- Middling CPU performance
The ugly
- Limitations imposed by the LXC platform (no docker)