A full 24 hour long benchmark and server tests - Server.it and Hostodo
Written by Anthony Smith, 14 July 2020
Article was migrated from WordPress to Vanilla in March 2022
Following the last benchmark and service test I ran on pq.hosting @Iroshan464 reached out and offered full access to a couple of idle servers he has with Server.it and Hostodo.
I took him up on the offer to test a couple more out after discussion with informed members of the community the disk test has been more refined to run mixed read/write at 50/50 to better emulate real-world performance and will be tested against 4k and 512k chunks rather than 64k.
Please note this is not intended to pit 1 host against another, I just did them both at the same time as that is the way they were offered and I am trying to hone in on a good method of doing none intrusive tests that can be charted over a full 24 hour period to find consistency over raw point in time performance.
Eventually over time if I have enough data to use I will chart the averages and deviations per region for as many hosts as possible.
Initially, I jumped on the server.it account to be pleasantly surprised by a custom control panel, while it is fairly basic it is very user friendly and everything you need seems to be there.
Server.it
The initial YABS for the impatient, This is a €0.99 /month plan with 2GB Ram so don't expect too much
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
# Yet-Another-Bench-Script #
# v2020-06-20 #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
Thu 09 Jul 2020 02:40:44 PM UTC
Basic System Information:
---------------------------------
Processor : Westmere E56xx/L56xx/X56xx (Nehalem-C)
CPU cores : 1 @ 2699.998 MHz
AES-NI : â Enabled
VM-x/AMD-V : â Disabled
RAM : 2.0Gi
Swap : 0B
Disk : 20G
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 38.27 MB/s (9.5k) | 348.78 MB/s (5.4k)
Write | 38.35 MB/s (9.5k) | 350.61 MB/s (5.4k)
Total | 76.63 MB/s (19.1k) | 699.39 MB/s (10.9k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 620.55 MB/s (1.2k) | 576.41 MB/s (562)
Write | 653.53 MB/s (1.2k) | 614.80 MB/s (600)
Total | 1.27 GB/s (2.4k) | 1.19 GB/s (1.1k)
iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Bouygues Telecom | Paris, FR (10G) | 103 Mbits/sec | 99.9 Mbits/sec
Online.net | Paris, FR (10G) | 103 Mbits/sec | 100 Mb its/sec
WorldStream | The Netherlands (10G) | 103 Mbits/sec | 100 Mb its/sec
wilhelm.tel | Hamburg, DE (10G) | 103 Mbits/sec | 100 Mb its/sec
Biznet | Bogor, Indonesia (1G) | 78.7 Mbits/sec | 79.1 M bits/sec
Hostkey | Moscow, RU (1G) | 101 Mbits/sec | 99.3 M bits/sec
Velocity Online | Tallahassee, FL, US (10G) | 89.0 Mbits/sec | 97.0 M bits/sec
Performing IPv4 iperf3 send test to Airstream Communications (Attempt #1 of 10). Performing IPv4 iperf3 send test to Airstream Communications (Attempt #2 of 10). Performing IPv4 iperf3 recv test from Airstream Communications (Attempt #1 of 10 Performing IPv4 iperf3 recv test from Airstream Communications (Attempt #2 of 10 Airstream Communications | Eau Claire, WI, US (10G) | 92.1 Mbits/sec | 93.3 M bits/sec
Hurricane Electric | Fremont, CA, US (10G) | 83.7 Mbits/sec | 95.3 M bits/sec
Geekbench 5 Benchmark Test:
---------------------------------
Test | Value
|
Single Core | 552
Multi Core | 548
Full Test | https://browser.geekbench.com/v5/cpu/2864880
What stands out initially is that it seems to be restricted to 100mbit, performance is likely hit by the lack of full CPU passthrough, but not terrible, from the info available I would think it is probably a 3+ generations old cpu.
dd tests for the ladies:
root@it:~# 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, 1.0 GiB) copied, 3.96743 s, 271 MB/s
root@it:~# 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, 1.0 GiB) copied, 3.3001 s, 325 MB/s
root@it:~# 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, 1.0 GiB) copied, 2.65895 s, 404 MB/s
root@it:~# 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, 1.0 GiB) copied, 3.05151 s, 352 MB/s
root@it:~# 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, 1.0 GiB) copied, 2.17049 s, 495 MB/s
root@it:~#
Hostodo
This is a 3GB KVM plan for $39.99 /year, the control panel is SolusVM so I will save the screenshots as it is well known and fairly standard.
Again the initial YABS for the impatient:
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
# Yet-Another-Bench-Script #
# v2020-06-20 #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
Fri 10 Jul 2020 05:29:51 AM EDT
Basic System Information:
---------------------------------
Processor : QEMU Virtual CPU version 2.5+
CPU cores : 2 @ 2599.998 MHz
AES-NI : â Disabled
VM-x/AMD-V : â Disabled
RAM : 2.9Gi
Swap : 1.0Gi
Disk : 30G
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 124.59 MB/s (31.1k) | 763.93 MB/s (11.9k)
Write | 124.92 MB/s (31.2k) | 767.95 MB/s (11.9k)
Total | 249.51 MB/s (62.3k) | 1.53 GB/s (23.9k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 826.74 MB/s (1.6k) | 831.10 MB/s (811)
Write | 870.66 MB/s (1.7k) | 886.46 MB/s (865)
Total | 1.69 GB/s (3.3k) | 1.71 GB/s (1.6k)
iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Bouygues Telecom | Paris, FR (10G) | 763 Mbits/sec | 491 Mbits/sec
Online.net | Paris, FR (10G) | 715 Mbits/sec | 441 Mbits/sec
WorldStream | The Netherlands (10G) | 783 Mbits/sec | 470 Mbits/sec
wilhelm.tel | Hamburg, DE (10G) | 753 Mbits/sec | 510 Mbits/sec
Biznet | Bogor, Indonesia (1G) | 523 Mbits/sec | 84.6 Mbits/sec
Hostkey | Moscow, RU (1G) | 749 Mbits/sec | 413 Mbits/sec
Velocity Online | Tallahassee, FL, US (10G) | 871 Mbits/sec | 282 Mbits/sec
Airstream Communications | Eau Claire, WI, US (10G) | 837 Mbits/sec | 461 Mbits/sec
Hurricane Electric | Fremont, CA, US (10G) | 814 Mbits/sec | 111 Mbits/sec
iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Bouygues Telecom | Paris, FR (10G) | 761 Mbits/sec | 232 Mbits/sec
Online.net | Paris, FR (10G) | 660 Mbits/sec | 209 Mbits/sec
WorldStream | The Netherlands (10G) | 691 Mbits/sec | 174 Mbits/sec
wilhelm.tel | Hamburg, DE (10G) | 724 Mbits/sec | 198 Mbits/sec
Airstream Communications | Eau Claire, WI, US (10G) | 820 Mbits/sec | 129 Mbits/sec
Hurricane Electric | Fremont, CA, US (10G) | 801 Mbits/sec | 89.5 Mbits/sec
Geekbench 5 Benchmark Test:
---------------------------------
Test | Value
|
Single Core | 455
Multi Core | 845
Full Test | https://browser.geekbench.com/v5/cpu/2873674
Agan no CPU passthrough, in this case literally none, just QEMU emulation so performance is probably needlessly hindered.
dd tests for the ladies
root@mia:~# 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, 1.0 GiB) copied, 3.13661 s, 342 MB/s
root@mia:~# 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, 1.0 GiB) copied, 1.58055 s, 679 MB/s
root@mia:~# 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, 1.0 GiB) copied, 2.2906 s, 469 MB/s
root@mia:~# 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, 1.0 GiB) copied, 1.26818 s, 847 MB/s
root@mia:~# 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, 1.0 GiB) copied, 1.8562 s, 578 MB/s
24-Hour Benchmarks
I set off a series of disk and network tests over 24 hours, both started at 11am (UK/London) and manually stopped them by killing the cron jobs the same time the next day.
The disk tests are 50/50 mixed read and write, further to a discussion on the LowEndSpirit forum I decided to run the tests at 4k, 64k, 512k and 1m
Server.it Extended disk test results.
IOPS (numbers on the left are in thousands/k)
- 4k Average IOPS: 25.04k
- 4k Fastest IOPS: 28.9k
4k Slowest IOPS: 18.5k
64k Average IOPS: 32.83k
- 64k Fastest IOPS: 52.6k
64k Slowest IOPS: 13k
512k Average IOPS: 9.11k
- 512k Fastest IOPS: 10.9k
512k Slowest IOPS: 3.6k
1m Average IOPS: 3.84k
- 1m Fastest IOPS: 9.9k
- 1m Slowest IOPS: 2k
Speeds MiB/s
- 4k Average MiB/s: 97.9
- 4k Fastest MiB/s: 113
4k Slowest MiB/s: 72.2
64k Average MiB/s: 2056
- 64k Fastest MiB/s: 3289
64k Slowest MiB/s: 814
512k Average MiB/s: 4572
- 512k Fastest MiB/s: 5435
512k Slowest MiB/s: 1825
1m Average MiB/s: 4545
- 1m Fastest MiB/s: 3879
- 1m Slowest MiB/s: 2000
Given the speeds and massive range of speeds you would have to assume some sort of hardware cache is actually responsible for the majority of the results, perhaps intel optane or possibly a software solution such as dm-cache or bcache backed by an NVMe array or a ramdisk.
This is not a bad thing especially not for €0.99 /month! (regular price seems to be €2.99) there is some info regarding their SSD performance on the website, I do not know much Italian though and it translates badly.
Server.it Extended network test results.
Over 24 hours and once every minute I had the VPS pull lowendspirit.com (so Cloudflare essentially) with curl for a TCP test.
- The average load time was 0.665831 seconds.
- The slowest was 5.406029 seconds
- The fastest was: 0.315025 seconds
To give a bit more context out of just under 1500 tests only 124 took more than 1 second and only 5 results were over 5 seconds however this does not impact the average of 0.665831 seconds much.
The Server.it VPS is in Ravenna Italy
Hostodo Extended disk test results.
IOPS (numbers on the left are in thousands/k)
- 4k Average IOPS: 46.11k
- 4k Fastest IOPS: 52.2k
4k Slowest IOPS: 36.1k
64k Average IOPS: 33.42k
- 64k Fastest IOPS: 37.4k
64k Slowest IOPS: 24.4k
512k Average IOPS: 3.6k
- 512k Fastest IOPS: 4k
512k Slowest IOPS: 2.6k
1m Average IOPS: 1.7k
- 1m Fastest IOPS: 1.9k
- 1m Slowest IOPS: 1.4k
Speeds MiB/s
- 4k Average MiB/s: 180.2
- 4k Fastest MiB/s: 204
4k Slowest MiB/s: 141
64k Average MiB/s: 2089
- 64k Fastest MiB/s: 2336
64k Slowest MiB/s: 1524
512k Average MiB/s: 1862
- 512k Fastest MiB/s: 2000
512k Slowest MiB/s: 1344
1m Average MiB/s: 1761
- 1m Fastest MiB/s: 1969
- 1m Slowest MiB/s: 1404
Again with the wide range of results you have to assume there is some sort of hardware cache at play here however it should be noted that the speeds at hostodo are much more consistent throughout the whole 24 hour period than at server.it especially at 512k and 1m.
Hostodo Extended network test results.
- The average load time was 0.767673 seconds.
- The slowest was 7.442716 seconds
- The fastest was: 0.411746 seconds
To give a bit more context out of just under 1500 tests only 174 took more than 1 second and only 5 results were over 8 seconds however this does not impact the average of 0.767673 seconds much.
The Hostodo VPS is in Miami Florida USA.
The Method
disk.sh script
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=250M --readwrite=randread | grep IOPS >> readsandwrites4
sleep 5
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=64k --iodepth=64 --size=250M --readwrite=randread | grep IOPS >> readsandwrites64
sleep 5
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=512k --iodepth=64 --size=250M --readwrite=randread | grep IOPS >> readsandwrites512
sleep 5
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=1m --iodepth=64 --size=250M --readwrite=randread | grep IOPS >> readsandwrites1m
net.sh script
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
curl 'https://lowendspirit.com' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: en-US,en;q=0.8,ja;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36' -H 'Connection: keep-alive' --compressed -s -o /dev/null -w "%{time_starttransfer}\n" >>netstats
Create a few cronjobs with crontab -e
and insert the following lines after creating the above scripts in /root
#* * * * * /root/net.sh
#*/5 * * * * /root/disk.sh
Dont forget to make them exectutable chmod +x net.sh disk.sh
Debain 10 64bit was used for both servers.
For ease of charting IOPS are rounded down to the nearest 100.
Raw data
I have put the raw data in a none expiring public Pastebin, again IOPS are in thousands
- Server.it Disk: https://pastebin.com/27DwnVUa
- Server.it network: https://pastebin.com/7sU0d4uy
- Hostodo network: https://pastebin.com/XaXZMfD3
- Hostodo Disk: https://pastebin.com/prH0nNvM
Comments
Thanks for the detailed analysis. ??
Enjoy meditation without religion for one month.
The Server.it benchmark was useful to me.
I was quite curious about it personally.
A nice little 'selfhosted' hobby box for a small number of logged-in users.
thanks for the testing, I found the offer in the forum , and this is what I need
Waikey
@Iroshan464 how did you manage to get AES enabled?
I bench YABS 24/7/365 unless it's a leap year.
Best guess a ticket asking for passthrough to be enabled and they did a partial/slappy pass through
https://inceptionhosting.com
Please do not use the PM system here for Inception Hosting support issues.
i tried before but was rejected, thats why wondering how he got it
I bench YABS 24/7/365 unless it's a leap year.
I asked. ?
May be they like me. ?
Enjoy meditation without religion for one month.
Damn. Should have asked nicely.
I bench YABS 24/7/365 unless it's a leap year.