01-08-2020, 07:21 PM
NanoKVM Nuremberg - NAT VPS Review
Hello Post4VPS Community and especially @Neoon
I'm going to use the chance and post my review and opinion about my current free NAT VPS provided by NanoKVM (@Neoon) and their respective sponsors.
When the NanoKVM thread was opened here I originally applied for a NanoKVM Canada NAT VPS and I got one. However the physical server that was used to host the Canada NAT VPSs was sponsored to NanoKVM for roughly 6 months and its sponsorship ended somewhere in November 2019 (CMIIW). @Neoon was so kind and offered a free replacement VPS in a different location (free as in without a need to reapply again to get one). I decided to request one and received a VPS located in Germany (Nuremberg, Bavaria).
Due to a lot of work in real life I unfortunately had no time to write a review for the service when I had the Canada NAT VPS.
I'll start with the review straight away.
VPS Specifications
Bellow you'll find a bit of information regarding the specifications of the free NAT VPS that I currently have. It's one of the smaller packages while nowadays you can get more resources if you can justify well enough. Look at the official NanoKVM site for all VPS plans and full resource overview (and all locations).
Specifications
CPU: Probably a Skylake based Xeon CPU (Family 15 Model 6 shown as Common KVM processor with 16 MB cache and 3.60 GHz frequency)
CPU Cores: 1
RAM: 512 MB
Disk Space: 10 GB SSD
Bandwidth: Unmetered (Fair Use)
Connection: 50 - 75 Mbps
IP Adresses(es): /80 IPv6 subnet and 20 dedicated IPv4 Ports on a shared IPv4 IP address through NAT
Location: Nuremberg, Bavaria, Germany (Hetzner)
Virtualization: KVM (Proxmox)
Control Panel: Custom NanoKVM panel using Proxmox API (support via e-mail)
Below are the specification details gathered through my bench.sh 2.0 benchmarking script:
Specifications are as advertised for my older and smaller package. Disk space information below:
So far everything checks out with the specifications advertised on the site and what I got. A nice little VPS that despite the resources can still be used for a lot of different things. You never had a really small VPS unless you experienced or owned a 32/64 MB RAM VPS with 2-5 GB of disk space .
VPS Usage
I have Debian 10 running on my NAT VPS and currently mainly use it for testing and development of my scripts and also as a web server for some of my domains serving non-public content (server to server connection, a normal visitor will see no website but just a web server response code "402" - greetings from Mr. Robot).
Once I have my Docker setup fully up and running on my other VPS I will do something different with the VPS. Not sure what exactly, yet. It will still serve a lot of testing. So at this point I don't have much to say. It's doing great for my usage purpose.
VPS Performance Benchmarks
Let's get to measuring the performance of the VPS with a few different benchmark solutions for CPU performance, disk speed and network speed performance.
CPU Performance
I used Byte Unixbench and Geekbench 5 to benchmark the performance of the VPS.
Byte Unixbench Result: 1322.4 points
Geekbench Results: 1051 - 1057 points
Results: https://browser.geekbench.com/v5/cpu/970273
To put this simple the single core I have is pretty much a beast. It outperformed by other VPS that has 4 cores. Yes, you read it right. The single core score of this VPS is higher than a quad multicore result of a Intel Xeon E5 CPU. You can feel it when using the VPS. Everything performs very snappy and tasks are done very quick. Nothing else to add here. Great performance thanks to the newer Skylake generation and high clock rates.
Oh, there is 0% steal inside my container. Therefore I conclude that the node is very well managed and there are no noisy containers or abusers.
SSD Performance
I used dd, hdparm and ioping to measure different SSD performance values and below are the results with a summary for the performance level at the end.
dd:
hdparm Speed Test (Cached):
hdparm Speed Test (Direct):
ioping I/O Latency:
ioping Disk Seek Rate:
ioping Disk Sequential Speed:
The SSD performs as expected: very well. I'm getting speeds of up to 470 MB/s (average) anytime I test it with dd and other benchmarking tools. The I/O latency is very low meaning that requests are performed quicker which is generally the advantaged of SSDs. The SSD is not overloaded or you could expect way worse latency times and slower speeds. This great speed and responsiveness contribues a lot to the snappy and smooth experience so far.
Network Performance
To test the advertised network performance and how much of it I would really get/be able to use I used wget (download big test files), the speedtest.net CLI client and iperf3. Results are below.
wget Speed Test IPv4:
wget Speed Test IPv6:
Speedtest.net CLI:
Result URL: https://www.speedtest.net/result/c/ddec5...15920c1564
iperf3 IPv4 Upload (Serverius, Amsterdam, NL):
iperf3 IPv6 Upload (Serverius, Amsterdam, NL):
iperf3 IPv4 Download (Serverius, Amsterdam, NL):
iperf3 IPv6 Download (Serverius, Amsterdam, NL):
The advertised speed is between 50 and 75 Mbps and so is the real speed. Overall you can say that both Upstream and Downstream settle at around 60 - 68 Mbps over IPv4 and IPv6. As can be seen in the wget speed tests the speed to various different locations is quite great and pretty stable (both IPv4 and IPv6) which indicates pretty good connectivity to outside locations (outside of Europe). I'm more than happy with these results.
RAW benchmark data: https://mega.nz/#!gQki3Q4I!Hvil0ZR17U_8N...J1AgSTRPl4
Summary
The NanoKVM DE NAT VPS that I received is a great small box with a beast CPU, a very speedy SSD and a great network. It offers enough performance for many projects and certainly for various testing. Despite the small amount of resources you can still run a lot of things on it if you know how to handle lowend boxes.
While many might see NAT as a issue I don't think so. 20 dedicated IPv4 ports are actually enough for a lot of you use something like HAProxy. Infact NanoKVM offers HAProxy in their control panel so you can host websites and other stuff on port 80/443 inside your NAT container with different domains! The /80 IPv6 subnet is great if you have IPv6 or you can use a IPv6 to IPv4 gateway (CloudFlare for example) to actually host web applications and similar over IPv6 only but allow access over both IPv4 and IPv6.
It's a great small dev box with great potential.
I'm going to use the chance and post my review and opinion about my current free NAT VPS provided by NanoKVM (@Neoon) and their respective sponsors.
When the NanoKVM thread was opened here I originally applied for a NanoKVM Canada NAT VPS and I got one. However the physical server that was used to host the Canada NAT VPSs was sponsored to NanoKVM for roughly 6 months and its sponsorship ended somewhere in November 2019 (CMIIW). @Neoon was so kind and offered a free replacement VPS in a different location (free as in without a need to reapply again to get one). I decided to request one and received a VPS located in Germany (Nuremberg, Bavaria).
Due to a lot of work in real life I unfortunately had no time to write a review for the service when I had the Canada NAT VPS.
I'll start with the review straight away.
VPS Specifications
Bellow you'll find a bit of information regarding the specifications of the free NAT VPS that I currently have. It's one of the smaller packages while nowadays you can get more resources if you can justify well enough. Look at the official NanoKVM site for all VPS plans and full resource overview (and all locations).
Specifications
CPU: Probably a Skylake based Xeon CPU (Family 15 Model 6 shown as Common KVM processor with 16 MB cache and 3.60 GHz frequency)
CPU Cores: 1
RAM: 512 MB
Disk Space: 10 GB SSD
Bandwidth: Unmetered (Fair Use)
Connection: 50 - 75 Mbps
IP Adresses(es): /80 IPv6 subnet and 20 dedicated IPv4 Ports on a shared IPv4 IP address through NAT
Location: Nuremberg, Bavaria, Germany (Hetzner)
Virtualization: KVM (Proxmox)
Control Panel: Custom NanoKVM panel using Proxmox API (support via e-mail)
Below are the specification details gathered through my bench.sh 2.0 benchmarking script:
Code: (Select All)
Processor : Common KVM processor
CPU Cores : 1 @ 3600 MHz
Memory : 483 MB
Swap : 511 MB
Uptime : 21 days, 1:53,
OS : Debian GNU/Linux 10 (buster)
Arch : x86_64 (64 Bit)
Kernel : 4.19.0-6-amd64
Specifications are as advertised for my older and smaller package. Disk space information below:
Code: (Select All)
Filesystem Size Used Avail Use% Mounted on
udev 227M 0 227M 0% /dev
tmpfs 49M 5.3M 44M 11% /run
/dev/mapper/Debian10--vg-root 11G 1.1G 9.0G 11% /
tmpfs 242M 0 242M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 242M 0 242M 0% /sys/fs/cgroup
/dev/sda1 236M 49M 176M 22% /boot
tmpfs 49M 0 49M 0% /run/user/0
So far everything checks out with the specifications advertised on the site and what I got. A nice little VPS that despite the resources can still be used for a lot of different things. You never had a really small VPS unless you experienced or owned a 32/64 MB RAM VPS with 2-5 GB of disk space .
VPS Usage
I have Debian 10 running on my NAT VPS and currently mainly use it for testing and development of my scripts and also as a web server for some of my domains serving non-public content (server to server connection, a normal visitor will see no website but just a web server response code "402" - greetings from Mr. Robot).
Once I have my Docker setup fully up and running on my other VPS I will do something different with the VPS. Not sure what exactly, yet. It will still serve a lot of testing. So at this point I don't have much to say. It's doing great for my usage purpose.
VPS Performance Benchmarks
Let's get to measuring the performance of the VPS with a few different benchmark solutions for CPU performance, disk speed and network speed performance.
CPU Performance
I used Byte Unixbench and Geekbench 5 to benchmark the performance of the VPS.
Byte Unixbench Result: 1322.4 points
Code: (Select All)
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: : GNU/Linux
OS: GNU/Linux -- 4.19.0-6-amd64 -- #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11)
Machine: x86_64 (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Common KVM processor (7200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
18:15:07 up 21 days, 2:10, 1 user, load average: 0.11, 0.05, 0.04; runlevel 5
------------------------------------------------------------------------
Benchmark Run: Wed Jan 08 2020 18:15:07 - 18:42:58
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 60368836.1 lps (10.0 s, 7 samples)
Double-Precision Whetstone 8131.4 MWIPS (9.2 s, 7 samples)
Execl Throughput 3490.2 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 668010.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 177488.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2051425.6 KBps (30.0 s, 2 samples)
Pipe Throughput 917723.8 lps (10.0 s, 7 samples)
Pipe-based Context Switching 175743.4 lps (10.0 s, 7 samples)
Process Creation 14654.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9905.8 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1309.9 lpm (60.0 s, 2 samples)
System Call Overhead 561600.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 60368836.1 5173.0
Double-Precision Whetstone 55.0 8131.4 1478.4
Execl Throughput 43.0 3490.2 811.7
File Copy 1024 bufsize 2000 maxblocks 3960.0 668010.8 1686.9
File Copy 256 bufsize 500 maxblocks 1655.0 177488.4 1072.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 2051425.6 3536.9
Pipe Throughput 12440.0 917723.8 737.7
Pipe-based Context Switching 4000.0 175743.4 439.4
Process Creation 126.0 14654.0 1163.0
Shell Scripts (1 concurrent) 42.4 9905.8 2336.3
Shell Scripts (8 concurrent) 6.0 1309.9 2183.2
System Call Overhead 15000.0 561600.7 374.4
========
System Benchmarks Index Score 1322.4
Geekbench Results: 1051 - 1057 points
Results: https://browser.geekbench.com/v5/cpu/970273
To put this simple the single core I have is pretty much a beast. It outperformed by other VPS that has 4 cores. Yes, you read it right. The single core score of this VPS is higher than a quad multicore result of a Intel Xeon E5 CPU. You can feel it when using the VPS. Everything performs very snappy and tasks are done very quick. Nothing else to add here. Great performance thanks to the newer Skylake generation and high clock rates.
Oh, there is 0% steal inside my container. Therefore I conclude that the node is very well managed and there are no noisy containers or abusers.
SSD Performance
I used dd, hdparm and ioping to measure different SSD performance values and below are the results with a summary for the performance level at the end.
dd:
Code: (Select All)
I/O (1st run) : 443 MB/s
I/O (2nd run) : 482 MB/s
I/O (3rd run) : 479 MB/s
Average I/O : 468 MB/s or .46 GB/s
hdparm Speed Test (Cached):
Code: (Select All)
Timing cached reads: 31878 MB in 1.99 seconds = 16054.61 MB/sec
Timing buffered disk reads: 1396 MB in 3.00 seconds = 464.97 MB/sec
hdparm Speed Test (Direct):
Code: (Select All)
Timing O_DIRECT cached reads: 946 MB in 2.00 seconds = 472.88 MB/sec
Timing O_DIRECT disk reads: 1396 MB in 3.00 seconds = 465.14 MB/sec
ioping I/O Latency:
Code: (Select All)
4 KiB <<< . (ext4 /dev/dm-0): request=1 time=261.3 us (warmup)
4 KiB <<< . (ext4 /dev/dm-0): request=2 time=289.8 us
4 KiB <<< . (ext4 /dev/dm-0): request=3 time=214.0 us
4 KiB <<< . (ext4 /dev/dm-0): request=4 time=250.6 us
4 KiB <<< . (ext4 /dev/dm-0): request=5 time=233.0 us
4 KiB <<< . (ext4 /dev/dm-0): request=6 time=304.9 us
4 KiB <<< . (ext4 /dev/dm-0): request=7 time=199.2 us (fast)
4 KiB <<< . (ext4 /dev/dm-0): request=8 time=293.8 us
4 KiB <<< . (ext4 /dev/dm-0): request=9 time=248.5 us
4 KiB <<< . (ext4 /dev/dm-0): request=10 time=340.3 us (slow)
4 KiB <<< . (ext4 /dev/dm-0): request=11 time=275.1 us
4 KiB <<< . (ext4 /dev/dm-0): request=12 time=338.9 us (slow)
4 KiB <<< . (ext4 /dev/dm-0): request=13 time=317.8 us
4 KiB <<< . (ext4 /dev/dm-0): request=14 time=289 us
4 KiB <<< . (ext4 /dev/dm-0): request=15 time=300.0 us
4 KiB <<< . (ext4 /dev/dm-0): request=16 time=258.9 us
4 KiB <<< . (ext4 /dev/dm-0): request=17 time=205.9 us (fast)
4 KiB <<< . (ext4 /dev/dm-0): request=18 time=244.5 us
4 KiB <<< . (ext4 /dev/dm-0): request=19 time=245.5 us
4 KiB <<< . (ext4 /dev/dm-0): request=20 time=231.0 us
--- . (ext4 /dev/dm-0) ioping statistics ---
19 requests completed in 5.08 ms, 76 KiB read, 3.74 k iops, 14.6 MiB/s
generated 20 requests in 19.0 s, 80 KiB, 1 iops, 4.21 KiB/s
min/avg/max/mdev = 199.2 us / 267.4 us / 340.3 us / 41.5 us
ioping Disk Seek Rate:
Code: (Select All)
--- /dev/mapper/Debian10--vg-root (block device 10.3 GiB) ioping statistics ---
16.7 k requests completed in 2.93 s, 65.2 MiB read, 5.68 k iops, 22.2 MiB/s
generated 16.7 k requests in 3.00 s, 65.2 MiB, 5.56 k iops, 21.7 MiB/s
min/avg/max/mdev = 64.8 us / 176.0 us / 4.22 ms / 81.9 us
ioping Disk Sequential Speed:
Code: (Select All)
5.58 k requests completed in 2.96 s, 1.36 GiB read, 1.89 k iops, 471.3 MiB/s
generated 5.58 k requests in 3.00 s, 1.36 GiB, 1.86 k iops, 464.9 MiB/s
min/avg/max/mdev = 214.2 us / 530.4 us / 2.96 ms / 361.4 us
The SSD performs as expected: very well. I'm getting speeds of up to 470 MB/s (average) anytime I test it with dd and other benchmarking tools. The I/O latency is very low meaning that requests are performed quicker which is generally the advantaged of SSDs. The SSD is not overloaded or you could expect way worse latency times and slower speeds. This great speed and responsiveness contribues a lot to the snappy and smooth experience so far.
Network Performance
To test the advertised network performance and how much of it I would really get/be able to use I used wget (download big test files), the speedtest.net CLI client and iperf3. Results are below.
wget Speed Test IPv4:
Code: (Select All)
Location Provider Speed Latency
Global
CDN Cachefly 7.17MB/s 5.238 ms
United States
Atlanta, GA, US Coloat 6.69MB/s 110.799 ms
Dallas, TX, US Softlayer 6.58MB/s 123.660 ms
Seattle, WA, US Softlayer 6.50MB/s 145.771 ms
San Jose, CA, US Softlayer 6.41MB/s 154.650 ms
Washington, DC, US Leaseweb 6.89MB/s 103.713 ms
Asia
Tokyo, Japan Linode 6.26MB/s 273.774 ms
Singapore Softlayer 6.49MB/s 153.187 ms
Taiwan Hinet 6.31MB/s 212.797 ms
Europe
Rotterdam, Netherlands id3.net 7.16MB/s 14.687 ms
Haarlem, Netherlands Leaseweb 7.17MB/s 5.302 ms
wget Speed Test IPv6:
Code: (Select All)
Location Provider Speed Latency
United States
Atlanta, GA, US QuadraNET 6.09MB/s 102.340 ms
Dallas, TX, US Linode 6.77MB/s 118.660 ms
Newark, NJ, US Linode 6.54MB/s 81.441 ms
Fremont, CA, US Linode 6.68MB/s 164.227 ms
Chicago, IL, US Steadfast 6.69MB/s 103.641 ms
Asia
Tokyo, Japan Linode 5.93MB/s 273.867 ms
Singapore Linode 6.62MB/s 163.350 ms
Europe
Frankfurt, Germany Linode 7.07MB/s 5.657 ms
London, UK Linode 7.05MB/s 21.071 ms
Haarlem, Netherlands Leaseweb 7.06MB/s 12.203 ms
Speedtest.net CLI:
Code: (Select All)
Speedtest by Ookla
Server: Uganda Hosting Limited - Nuremberg (id = 20963)
ISP: Hetzner Online GmbH
Latency: 0.58 ms (0.10 ms jitter)
Download: 60.16 Mbps (data used: 28.6 MB)
Upload: 61.87 Mbps (data used: 71.1 MB)
Packet Loss: Not available.
iperf3 IPv4 Upload (Serverius, Amsterdam, NL):
Code: (Select All)
[SUM] 0.00-10.00 sec 81.6 MBytes 68.4 Mbits/sec 4468 sender
[SUM] 0.00-10.00 sec 74.3 MBytes 62.3 Mbits/sec receiver
iperf3 IPv6 Upload (Serverius, Amsterdam, NL):
Code: (Select All)
[SUM] 0.00-10.00 sec 80.8 MBytes 67.8 Mbits/sec 4323 sender
[SUM] 0.00-10.00 sec 73.8 MBytes 61.9 Mbits/sec receiver
iperf3 IPv4 Download (Serverius, Amsterdam, NL):
Code: (Select All)
[SUM] 0.00-10.00 sec 76.5 MBytes 64.1 Mbits/sec 199 sender
[SUM] 0.00-10.00 sec 71.7 MBytes 60.2 Mbits/sec receiver
iperf3 IPv6 Download (Serverius, Amsterdam, NL):
Code: (Select All)
[SUM] 0.00-10.00 sec 74.9 MBytes 62.8 Mbits/sec 156 sender
[SUM] 0.00-10.00 sec 70.7 MBytes 59.3 Mbits/sec receiver
The advertised speed is between 50 and 75 Mbps and so is the real speed. Overall you can say that both Upstream and Downstream settle at around 60 - 68 Mbps over IPv4 and IPv6. As can be seen in the wget speed tests the speed to various different locations is quite great and pretty stable (both IPv4 and IPv6) which indicates pretty good connectivity to outside locations (outside of Europe). I'm more than happy with these results.
RAW benchmark data: https://mega.nz/#!gQki3Q4I!Hvil0ZR17U_8N...J1AgSTRPl4
Summary
The NanoKVM DE NAT VPS that I received is a great small box with a beast CPU, a very speedy SSD and a great network. It offers enough performance for many projects and certainly for various testing. Despite the small amount of resources you can still run a lot of things on it if you know how to handle lowend boxes.
While many might see NAT as a issue I don't think so. 20 dedicated IPv4 ports are actually enough for a lot of you use something like HAProxy. Infact NanoKVM offers HAProxy in their control panel so you can host websites and other stuff on port 80/443 inside your NAT container with different domains! The /80 IPv6 subnet is great if you have IPv6 or you can use a IPv6 to IPv4 gateway (CloudFlare for example) to actually host web applications and similar over IPv6 only but allow access over both IPv4 and IPv6.
It's a great small dev box with great potential.