Hey all,
So over the past few days I started working on a benchmarking script. The goal of the script was to make something slightly different than what’s already out there, which incorporates benchmark tests that we find ourselves conducting quite often, namely dd, iperf, and Geekbench.
Here is the GitHub repo where you can review the script and get some additional information:
Benchmarking Tests
The script performs three main tests:
- dd - to estimate disk performance. (disclaimer that read speeds may be heavily affected by cache)
- iperf - to estimate network performance using parallel threads and by testing speeds in both directions (download and upload). Both IPv4 and IPv6 iperf tests are conducted (if available)
- Geekbench 4 - to estimate total system performance by running a vast array of different CPU/memory intensive benchmarks. Both single and multi-core scores are given along with a link to view the complete system results. The URL to claim the test and add it to your Geekbench profile is written to disk.
Running the Script
The script is very easy to run and does not require any external dependencies to be installed nor elevated privileges to run:
curl -s https://raw.githubusercontent.com/masonr/yet-another-bench-script/master/yabs.sh | bash
The script has been tested on CentOS 7, Debian 9, Debian 10, Fedora 30, Ubuntu 16.04, and Ubuntu 18.04.
Skipping Test(s): Tests can be easily skipped if you don’t want to run a specific test that’s included with this script. More info can be found on the GitHub project page linked above.
Example Output
Here is example output from the script:
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
# Yet-Another-Bench-Script #
# v2019-10-06 #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
Sun Oct 6 22:03:26 EDT 2019
Basic System Information:
---------------------------------
Processor : Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
CPU cores : 8 @ 1600.091 MHz
AES-NI : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM : 31G
Swap : 7.5G
Disk : 213G
dd Disk Speed Tests:
---------------------------------
| Test 1 | Test 2 | Test 3 | Avg
| | | |
Write | 361 MB/s | 357 MB/s | 357 MB/s | 358.333 MB/s
Read* | 409 MB/s | 409 MB/s | 410 MB/s | 409.333 MB/s
iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Bouygues Telecom | Paris, FR (10G) | 766 Mbits/sec | 195 Mbits/sec
Online.net | Paris, FR (10G) | 771 Mbits/sec | 156 Mbits/sec
Severius | The Netherlands (10G) | 638 Mbits/sec | 45.5 Mbits/sec
Worldstream | The Netherlands (10G) | 748 Mbits/sec | 56.7 Mbits/sec
wilhelm.tel | Hamburg, DE (10G) | 756 Mbits/sec | 69.1 Mbits/sec
Biznet | Bogor, Indonesia (1G) | busy | busy
Hostkey | Moscow, RU (1G) | 722 Mbits/sec | 489 Mbits/sec
Velocity Online | Tallahassee, FL, US (1G) | 528 Mbits/sec | 374 Mbits/sec
Airstream Communications | Eau Claire, WI, US (10G) | 825 Mbits/sec | 156 Mbits/sec
Hurricane Electric | Fremont, CA, US (1G) | 782 Mbits/sec | busy
iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Bouygues Telecom | Paris, FR (10G) | 463 Mbits/sec | 186 Mbits/sec
Online.net | Paris, FR (10G) | 713 Mbits/sec | 75.7 Mbits/sec
Severius | The Netherlands (10G) | 753 Mbits/sec | 73.5 Mbits/sec
Worldstream | The Netherlands (10G) | 740 Mbits/sec | 58.6 Mbits/sec
wilhelm.tel | Hamburg, DE (10G) | 744 Mbits/sec | 75.0 Mbits/sec
Airstream Communications | Eau Claire, WI, US (10G) | 473 Mbits/sec | 149 Mbits/sec
Hurricane Electric | Fremont, CA, US (1G) | busy | busy
Geekbench 4 Benchmark Test:
---------------------------------
Test | Value
|
Single Core | 4012
Multi Core | 13007
Full Test | https://browser.geekbench.com/v4/cpu/14768101
More example output:
- Hetzner Cloud (2GB Nuremberg) Ubuntu 16.04 YABS Result - Hetzner Cloud (2GB Nuremberg) Ubuntu 16.04 YABS Result - Pastebin.com
- Hetzner Cloud (2GB Falkenstein) Ubuntu 18.04 YABS Result - https://pastebin.com/1hYi5LFM
- Hetzner Cloud (2GB Helsinki) Fedora 30 YABS Result - https://pastebin.com/ev0uyBZG
- Hetzner Cloud (2GB Nuremberg) Debian 9 YABS Result - https://pastebin.com/Cpg5q44K
- Hetzner Cloud (2GB Falkenstein) Debian 10 YABS Result - https://pastebin.com/0n8agm1i
- Hetzner Cloud (2GB Helsinki) CentOS 7 YABS Result - https://pastebin.com/TKYKLy1Q
Feedback
I welcome any feedback you may have or any bug reports.
Thank you to those who provided input as this was being thought about and those who helped test the script as it was being developed – thanks FHR, Rhys, scorpio18, Joshua, & ChrisM! Testing the script on different Linux distros was done using Hetzner Cloud.
Feel free to test it out and post your results. Thanks!
-Mason