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

2»

Comments

  • edited February 2020

    Thanks @Mason I'm going to add it to my Knowledgebase for my clients to use, as it will be great for them to have! :)

    VPS Aliens | AS207328 | Your Portal to Alien Class Servers & Support!
    █ VPS Solutions | Dedicated Servers | KVM VPS Reseller | 10Gbps Ports

  • MasonMason OG
    edited February 2020

    Newest batch of updates were just pushed --

    • Geekbench 5 - using v5 test by default now (can be overridden with the '-4' flag)
    • Local fio/iperf3 Packages - local packages will take precedence over precompiled binaries, so if fio and/or iperf3 are already installed on the tested system, it will use the local packages instead. Should help iron out the incompatibility issues with the precompiled binaries
    • dd Fallback - if the fio disk test fails for whatever reason, the script will run a dd test instead and show those results so the disk is tested in some way rather than not at all
    • Added a 'reduce' option ('-r' flag), which will reduce the number of tested iperf3 locations to reduce the bandwidth burden on the tested system. It will limit the iperf3 tests to only use three locations (Online.net (FR), WorldStream (NL), and Hurricane Electric (US))
    • Added a help printout option ('-h' flag), which can be treated as a dry-run for the script. It will tell you the usage, accepted flags, detected host arch (x64/x86), detected flags (whatever you passed it along with the -h flag), and the local package check (if preinstalled fio/iperf3 are detected)

    Please report any errors to me and I'll get them addressed. Cheers!

    Here's the sample help output --

    ~/yet-another-bench-script$ ./yabs.sh -id4hr
    # ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
    #              Yet-Another-Bench-Script              #
    #                     v2020-02-10                    #
    # https://github.com/masonr/yet-another-bench-script #
    # ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
    
    Mon Feb 10 23:50:10 EST 2020
    
    Usage: ./yabs.sh [-fdighr4]
           curl -sL yabs.sh | bash
           curl -sL yabs.sh | bash -s -- -{fdighr4}
    
    Flags:
           -f/d : skips the fio disk benchmark test
           -i : skips the iperf network test
           -g : skips the geekbench performance test
           -h : prints this lovely message, shows any flags you passed,
                shows if fio/iperf3 local packages have been detected,
                then exits
           -r : reduce number of iperf3 network locations (to only three)
                to lessen bandwidth usage
           -4 : use geekbench 4 instead of geekbench 5
    
    Detected Arch: x64
    
    Detected Flags:
           -f/d, skipping fio disk benchmark test
           -i, skipping iperf network test
           -r, using reduced (3) iperf3 locations
           -4, running geekbench 4 instead of 5
    
    Local Binary Check:
           fio not detected, will download precompiled binary
           iperf3 detected, using local package
    
    Exiting...
    

    yabs daddy

  • @vyas said:
    Thanks @Mason for the tweaks and folks for suggestions ....

    One silly question: is it typical to see @ 20-24 GB bandwidth consumption for every instance the updated YABS is run?

    Thanks

    iperf can use a lot of data, and you need enough data transfer to get a more accurate result

    Deals and Reviews: LowEndBoxes Review | Avoid dodgy providers with The LEBRE Whitelist | Free hosting (with conditions): Evolution-Host, NanoKVM, FreeMach, ServedEZ | Get expert copyediting and copywriting help at The Write Flow

  • vyasvyas OG
    edited February 2020

    @Mason
    Thanks for the updates. The-r flag helps.

    Just tested with a few flags on different setups, work great.

    The reason I brought imthe bandwidth issue was - because I have a super cheap plan ($4/year) that comes with 100 gb/year. I ran two yabs instances - once because session cut mid way . Fortunately realized the bandwidth impact and let the vps idle for the remainder of the billing period.
    Sort of.

    @poisson,

    I am aware of the impact of iperf- albeit only recent months

    My concern was regarding plans with limited bandwidth as mentioned above.

    Add to that the potential for overage charges or crippling speeds or disabling connectivity as per the TOS of the network provider .

    Unfortunately things the way they are, one might end up seeing

    “hey running your tests caused me overage charges....”
    Kind of complaints instead of
    “Thank you”

    We saw this week how someone complained about a ‘free’ hosting service not working.

    Alas....

    (End preaching)

  • Idk what causes it..

    ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##

    Yet-Another-Bench-Script

    v2020-02-10

    https://github.com/masonr/yet-another-bench-script

    ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##

    Tue Mar 3 07:57:15 UTC 2020

    Basic System Information:

    Processor : Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
    CPU cores : 2 @ 2500.000 MHz
    AES-NI : ✔ Enabled
    VM-x/AMD-V : ❌ Disabled
    RAM : 957M
    Swap : 0B
    Disk : 7.7G

    Geekbench 5 test failed. Run manually to determine cause.

  • @Satnamigyz said:
    Idk what causes it..

    Not enough RAM and no swap.

  • @debaser said:

    @Satnamigyz said:
    Idk what causes it..

    Not enough RAM and no swap.

    Geekbench 4 works perfectly

  • debaserdebaser OG
    edited March 2020

    @Satnamigyz said:

    @debaser said:

    @Satnamigyz said:
    Idk what causes it..

    Not enough RAM and no swap.

    Geekbench 4 works perfectly

    Well, as that's an older version it's probably expected. I've had trouble running Geekbench 5 on <2GB ram machines too.

  • @Satnamigyz said: Idk what causes it..

    Yep, probably what @debaser said.

    Did you try running it manually (https://www.geekbench.com/)? What errors do you get?

    yabs daddy

  • Adding swap was nescessary for GeekBench5 to work on my 1GB VPS.

  • cybertechcybertech OGBenchmark King YABS 24/7/365

    Geek5 needs to download more ram to work.

    I bench YABS 24/7/365 unless it's a leap year.

  • @cybertech said:
    Geek5 needs to download more ram to work.

    Of course... get downloading! - https://downloadmoreram.com/

    yabs daddy

  • @Mason said:

    @cybertech said:
    Geek5 needs to download more ram to work.

    Of course... get downloading! - https://downloadmoreram.com/

    Gotta download that 16GB of stick

  • Small update pushed to the repo to address some fio interoperability issues with the pre-compiled binary. New fio binary is being compiled with the "--disable-native" flag so that generic qemu/non-AVX CPUs don't throw an error.

    yabs daddy

  • MasonMason OG
    edited September 2020

    Hi all, please consider participating in the poll below to help me gauge interest in which iperf3 locations should be used by YABS for network testing. There are 18 options, but please narrow down your selection to your TOP 5 choices.

    http://www.strawpoll.me/20938564

    If there's any reason you DON'T want a specific location added, please voice your concerns here (i.e. if you've experienced reliability issues, location is significantly slower than others in the same region, etc.). I appreciate all the help! Feel free to share the poll link with anyone else that regularly uses the script. @Clouvider has recently added public iperf3 servers to all 6 of his POPs, so there's plenty of "new" locations to consider.


    In other news...

    YABS updates in the works:

    • Fix web scrape to get GB4 results from curl (GB's web design changed slightly, so it doesn't grab the scores currently) -- DONE (implemented in 'testing' branch)
    • Add longer wait time after GB test concludes to allow results to be posted in time -- DONE (implemented in 'testing' branch)
    • Add ability to use a GB paid license key to unlock the full GB test -- DONE (implemented in 'testing' branch)
    • Update pre-compiled binary for fio (v3.17 -> v3.23)
    • Update pre-compiled binary for iperf3 (v3.7 -> v3.9)
    • Alter iperf3 test locations for the network speed tests based on feedback provided in the poll

    yabs daddy

  • cybertechcybertech OGBenchmark King YABS 24/7/365

    nothing in asia? biznet not really the benchmark here

    I bench YABS 24/7/365 unless it's a leap year.

  • @cybertech said:
    nothing in asia? biznet not really the benchmark here

    Nothing that I can find. But please give me a shout if you find a public iperf server or a provider willing to sponsor a public iperf location! Would be great to get APAC covered.

    yabs daddy

  • @cybertech said:
    nothing in asia? biznet not really the benchmark here

    I hope there is iperf3 server in SG and in JP/HK.

    A simple uptime dashboard using UptimeRobot API https://upy.duo.ovh
    Currently using VPS from BuyVM, GreenCloudVPS, Gullo's, Hetzner, HostHatch, InceptionHosting, LetBox, MaxKVM, MrVM, VirMach.

  • Didn't know Clouvider had a iPerf3 location in LA. It would be great if you could include that. The HE location in Fremont is almost always busy.

  • @saibal said:
    Didn't know Clouvider had a iPerf3 location in LA. It would be great if you could include that. The HE location in Fremont is almost always busy.

    My thoughts exactly. Don't like how HE.net is busy constantly, so the swap with Clouvider in the same region is definitely going to happen.

    yabs daddy

  • @Mason said: Don't like how HE.net is busy constantly

    Has anybody asked HE about possibly increasing their iperf3 capacity?

  • @Not_Oles said:

    @Mason said: Don't like how HE.net is busy constantly

    Has anybody asked HE about possibly increasing their iperf3 capacity?

    Looks like it's someone running it on a VPS in a HE data center, so probably not much more he can do. It's all good, though, since the Clouvider location is close by.

    yabs daddy

  • MasonMason OG
    edited September 2020

    Thoughts on these iperf providers/locations? -

    iperf3 Network Speed Tests (IPv4):
    ---------------------------------
    Provider                  | Location (Link)           | Send Speed      | Recv Speed
                              |                           |                 |
    Clouvider                 | London, UK (10G)          | 1.97 Gbits/sec  | 2.38 Gbits/sec
    Online.net                | Paris, FR (10G)           | 1.87 Gbits/sec  | 2.14 Gbits/sec
    WorldStream               | The Netherlands (10G)     | 2.17 Gbits/sec  | 1.19 Gbits/sec
    Wifx                      | Zurich, CH (10G)          | 1.70 Gbits/sec  | 488 Mbits/sec
    Biznet                    | Jakarta, Indonesia (1G)   | 6.24 Mbits/sec  | 102 Mbits/sec
    Clouvider                 | NYC, NY, US (10G)         | 9.39 Gbits/sec  | 9.33 Gbits/sec
    Velocity Online           | Tallahassee, FL, US (10G) | 1.84 Gbits/sec  | 2.89 Gbits/sec
    Clouvider                 | Los Angeles, CA, US (10G) | 2.37 Gbits/sec  | 2.46 Gbits/sec
    Iveloz Telecom            | Sao Paulo, BR (2G)        | 129 Mbits/sec   | 218 Mbits/sec
    
    iperf3 Network Speed Tests (IPv6):
    ---------------------------------
    Provider                  | Location (Link)           | Send Speed      | Recv Speed
                              |                           |                 |
    Clouvider                 | London, UK (10G)          | 1.93 Gbits/sec  | 2.35 Gbits/sec
    Online.net                | Paris, FR (10G)           | 2.54 Gbits/sec  | 2.16 Gbits/sec
    WorldStream               | The Netherlands (10G)     | 2.21 Gbits/sec  | 1.37 Gbits/sec
    Wifx                      | Zurich, CH (10G)          | 186 Mbits/sec   | 606 Mbits/sec
    Clouvider                 | NYC, NY, US (10G)         | 9.27 Gbits/sec  | 9.28 Gbits/sec
    Clouvider                 | Los Angeles, CA, US (10G) | 2.35 Gbits/sec  | 2.46 Gbits/sec
    
    

    Attempting to find a good mix of diverse locations and popular data hubs, but also not trying to get carried away with too many tests.

    yabs daddy

  • @Mason said: Thoughts on these iperf providers/locations? -

    Looks good to me. It's a nice balance between locations and number or tests.

  • @beagle said:

    @Mason said: Thoughts on these iperf providers/locations? -

    Looks good to me. It's a nice balance between locations and number or tests.

    Seconded - well balanced across providers and locations.

    Separately though, what (IMHO) would be nice is to also have an AUS presence (I know bandwidth is expensive down under...).
    Similarly it would be nice if there was another/more APAC location(s) (HK or SG and/or Japan).

    Thank you.

  • @nullnothere said:
    Separately though, what (IMHO) would be nice is to also have an AUS presence (I know bandwidth is expensive down under...).
    Similarly it would be nice if there was another/more APAC location(s) (HK or SG and/or Japan).

    Thank you.

    Agreed on that. However, I don't own or pay for any of the iperf locations, so I'm just relying on what's publicly available. Unfortunately coverage in APAC is severely lacking, probably due to bandwidth considerations like you said. Always on the lookout for new locations to add to get better diversity :)

    yabs daddy

  • cybertechcybertech OGBenchmark King YABS 24/7/365
    edited September 2020

    iirc bench.sh used to use vultr/linode asia test servers. not sure if they can be used.

    I bench YABS 24/7/365 unless it's a leap year.

  • @cybertech said:
    iirc bench.sh used to use vultr/linode asia test servers. not sure if they can be used.

    Aye, but I think they are basic http downloads, not iperf.

    yabs daddy

  • Hello @Mason just want to say that it would really nice if you separated the iperf test by locations like bench monster did. 10 locations in europe, 10 in usa, 10 in asia and oceania. For example

    curl -sL yabs.sh | bash -s -- -eu
    curl -sL yabs.sh | bash -s -- -us
    curl -sL yabs.sh | bash -s -- -asiaoceania
    
  • edited December 2020

    @Anon said:
    Hello @Mason just want to say that it would really nice if you separated the iperf test by locations like bench monster did. 10 locations in europe, 10 in usa, 10 in asia and oceania. For example

    curl -sL yabs.sh | bash -s -- -eu
    curl -sL yabs.sh | bash -s -- -us
    curl -sL yabs.sh | bash -s -- -asiaoceania
    

    I don't think it will do as the iperf server quantity is pretty small. In Asia itself, only one public iperf server available which is in Indonesia.

    A simple uptime dashboard using UptimeRobot API https://upy.duo.ovh
    Currently using VPS from BuyVM, GreenCloudVPS, Gullo's, Hetzner, HostHatch, InceptionHosting, LetBox, MaxKVM, MrVM, VirMach.

  • @Anon said: Hello @Mason just want to say that it would really nice if you separated the iperf test by locations like bench monster did. 10 locations in europe, 10 in usa, 10 in asia and oceania.

    Hey there! As @chocolateshirt mentioned, public iperf servers are few and far between. I wish I could find 10 in EU, US, & APAC, but unfortunately that's not a possibility at this point with what's out there. So with the limited number of locations, it wouldn't make sense right now to split them up by selectable regions. If at any point in time, there's a larger number of iperf locations that I can include in the script, then I just may consider doing something like this.

    Thanks for the interest and suggestion!

    yabs daddy

  • @Anon said:
    Hello @Mason just want to say that it would really nice if you separated the iperf test by locations like bench monster did. 10 locations in europe, 10 in usa, 10 in asia and oceania. For example

    curl -sL yabs.sh | bash -s -- -eu
    curl -sL yabs.sh | bash -s -- -us
    curl -sL yabs.sh | bash -s -- -asiaoceania
    

    You do know that on a high bandwidth VPS, each location is a few GB's? Now, if you have a 4TB bandwidth per month, you're probably not going to care. But if your bandwidth is 250GB a month, you probably will.

  • Is it just me or are @Clouvider s iperf servers always busy? Especially those in London and LA.

  • @debaser said:
    Is it just me or are @Clouvider s iperf servers always busy? Especially those in London and LA.

    Yeah, think I'm gonna change them out in the repo until the issues are resolved. They need to be rebooted.

    Also this has me motivated to make a little iperf server monitor that will keep track of all available iperf servers and alert me when any are down and need to be swapped with something else.

    yabs daddy

  • Make the script grab a list of available iperf servers on the fly from an often updated list maybe?

Sign In or Register to comment.