Yet Another Benchmark Script (YABS) - Linux Benchmarking Script using fio, iperf, & Geekbench

Really just depends on the iperf servers that are publicly available. APAC doesn’t have any available as far as I’m aware besides the Biznet location. I’ll be on the lookout for more, though :slight_smile:

1 Like

Architecture not supported by YABS.

2 Likes

Ooof. What’chu runnin’? BSD?

arm arm64 with Ubuntu ok.

But while you’re at it, make it run for FreeBSD too :smiley:

Edit: It also needs to run on dirt-cheap bare-bone offers, like NAT vps where space is extremely small and ram is very low.

1 Like

It does not work on ZFS either.

Ahh yeah… I don’t think the fio, iperf, or geekbench binaries will work with arm. Maybe it’s worth exploring making it arm-compatible if I can compile fio and iperf for arm.

I’ll look into it, but I’m not really a BSD guy so no idea what would be involved. But the project is open source for a reason! :wink:

Works fine on zfs-backed systems (…if your machine can handle it lol). Fio, iperf, geekbench will naturally try and max out the resource it’s testing and doesn’t really care what else your machine is running. The disk calculation hasn’t been worked out yet since df reports strange values for zfs systems (hence why other bench scripts report more storage space than you actually have).

fio and iperf/3 are available on arm sir.
I guess you could at least add a update so it runs without geekbench until you made or not made that working. Nearly everything is available on arm64 but not on armhf which 32bit RPi4’s use.

The 64bit image for RPi4 uses arm64 so no issue

1 Like

Weird. Tried on 2 Proxmox nodes and both said some kind of error.

1 Like
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2020-09-21                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Fri 23 Oct 2020 11:52:33 PM CDT

Basic System Information:
---------------------------------
Processor  : Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz
CPU cores  : 8 @ 3785.741 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 31Gi
Swap       : 31Gi
Disk       : 437G

Preparing system for disk tests...chmod: cannot access './2020-10-23T23_52_36-05_00/disk/fio': No such file or directory
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       |                   () |                   ()
Write      |                   () |                   ()
Total      | 0.00 KB/s        (0) | 0.00 KB/s        (0)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       |                   () |                   ()
Write      |                   () |                   ()
Total      | 0.00 KB/s        (0) | 0.00 KB/s        (0)
chmod: cannot access './2020-10-23T23_52_36-05_00/iperf/iperf3': No such file or directory

Performing Geekbench 5 benchmark test... *cue elevator music*

Interesting… And you have read/write access to the current directory? Maybe the curl failed when retrieving the binary file

Tested in 2 servers, same result.

Hm, getting this on a couple of nodes (both NAT nodes and IPv4 public nodes):
Geekbench releases can only be downloaded over IPv4. FTP the Geekbench files and run manually.

On nodes which have both IPv4 and IPv6 … Anything I should check on my end? :slight_smile:
(I guess @Mason would be the one to ask here.) :smiley:

Means the IPv4 check is failing for some reason. It’s done via a curl to icanhazip.com. Maybe I need to re-evaluate how it determines IPv4 connectivity and switch it to using ping or something like that instead. Unless someone has any better ideas?

You could add a 2nd get IP site as fallback via bash || or like this

IPV4_CHECK=$(curl -s -4 -m 4 icanhazip.com 2> /dev/null || curl -s -4 -m 4 ifconfig.co 2> /dev/null)

That way if the first curl request fail it will fallback to the 2nd curl request.

But since your not actually using the IP data it returns you’re just checking if the IPV4_CHECK variable is not blank the domain it check could be anything really even Google or Wikipedia etc

2 Likes

I like that! Will probably implement something along those lines, thanks!

Switched up the IPv4/v6 check a bit. Let me know if you hit that error again. Thanks for the bug report!

1 Like

:+1: Will do. The check worked later on the same node I tried last, so dunno what caused the glitch … :slight_smile:
Thanks for a great script/tool! :smiley:

1 Like

I’m curious why network speed test fail from @seriesn network

But success from other providers

Try disabling firewall.

3 Likes