diff --git a/README.md b/README.md index 3602436..1209ce9 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,6 @@ Sites supporting submission of YABS JSON results: | --- | --- | | [YABSdb](https://yabsdb.com/) | `curl -sL yabs.sh \| bash -s -- -s "https://yabsdb.com/add"` | | [VPSBenchmarks](https://www.vpsbenchmarks.com/yabs/get_started) | `curl -sL yabs.sh \| bash -s -- -s https://www.vpsbenchmarks.com/yabs/upload` | -| [s0c Online](https://s0c.org/) | `curl -sL yabs.sh \| bash -s -- -s https://s0c.org/api/yabs -9` | Example JSON output: [example.json](bin/example.json). @@ -185,7 +184,7 @@ YABS completed in 12 min 49 sec ## Acknowledgements -This script was inspired by several great benchmarking scripts out there, including, but not limited to, [bench.sh](https://bench.sh/), [nench.sh](https://github.com/n-st/nench), [ServerBench](https://github.com/K4Y5/ServerBench), among others. Members of the [HostedTalk](https://hostedtalk.net), [LowEndSpirit](https://lowendspirit.com), and [LowEndTalk](https://lowendtalk.com) hosting-related communities play a pivotal role in testing, evaluating, and shaping this script as it matures. +This script was inspired by several great benchmarking scripts out there, including, but not limited to, [bench.sh](https://bench.sh/), [nench.sh](https://github.com/n-st/nench), [ServerBench](https://github.com/K4Y5/ServerBench), among others. Members of the [HostBalls](https://hostballs.com), [LowEndSpirit](https://lowendspirit.com), and [LowEndTalk](https://lowendtalk.com) hosting-related communities play a pivotal role in testing, evaluating, and shaping this script as it matures. ## License ``` diff --git a/bin/README.md b/bin/README.md index 2e1e9e4..7cc8726 100644 --- a/bin/README.md +++ b/bin/README.md @@ -6,18 +6,16 @@ This directory contains all of the binaries required to run the benchmarking tes | Binary Name | Version | Compile Date | Architecture | OS | |:-:|:-:|:-:|:-:|:-:| -| fio_x64 | 3.34 | 24-MAR-2023 | x86_64 | 64-bit | -| fio_x86 | 3.30* | 19-AUG-2022 | x86 | 32-bit | -| fio_aarch64 | 3.34 | 24-MAR-2023 | ARM | 64-bit | -| fio_arm | 3.34 | 24-MAR-2023 | ARM | 32-bit | -| iperf_x64 | 3.13 | 26-FEB-2023 | x86_64 | 64-bit | -| iperf_x86 | 3.13 | 26-FEB-2023 | x86 | 32-bit | -| iperf_aarch64 | 3.13 | 26-FEB-2023 | ARM | 64-bit | -| iperf_arm | 3.13 | 26-FEB-2023 | ARM | 32-bit | +| fio_x64 | 3.35 | 12-JUL-2023 | x86_64 | 64-bit | +| fio_x86 | 3.35 | 12-JUL-2022 | x86 | 32-bit | +| fio_aarch64 | 3.35 | 12-JUL-2023 | ARM | 64-bit | +| fio_arm | 3.35 | 12-JUL-2023 | ARM | 32-bit | +| iperf_x64 | 3.14 | 12-JUL-2023 | x86_64 | 64-bit | +| iperf_x86 | 3.14 | 12-JUL-2023 | x86 | 32-bit | +| iperf_aarch64 | 3.14 | 12-JUL-2023 | ARM | 64-bit | +| iperf_arm | 3.14 | 12-JUL-2023 | ARM | 32-bit | -Note: ARM compatibility is considered experimental. Static binaries for ARM-based machines are cross-compiled within a Holy Build Box container using the [musl toolchain](https://musl.cc/). - -\* fio v3.31+ is failing to build in a 32-bit environment +Note: ARM compatibility is considered experimental. Static binaries for 32-bit and ARM-based machines are cross-compiled within a Holy Build Box container using the [musl toolchain](https://musl.cc/). ### Compile Notes @@ -30,28 +28,28 @@ Note: ARM compatibility is considered experimental. Static binaries for ARM-base docker run -t -i --rm -v `pwd`:/io phusion/holy-build-box-64:latest bash /io/compile.sh ``` -**Compiling 32-bit binaries**: +64-bit binaries will be placed in the current directory. -```sh -docker run -t -i --rm -v `pwd`:/io phusion/holy-build-box-32:latest linux32 bash /io/compile.sh -``` - -64-bit and 32-bit binaries will be placed in the current directory. - -### ARM Compile Notes +### Cross-compiling Notes Compilation of ARM-compatible binaries requires additional environment variables to identify the proper musl toolchain and architecture to target for cross-compilation. -**Compiling 64-bit binaries**: - -```sh -docker run -t -i --rm -v `pwd`:/io --env ARCH=aarch64 --env CROSS=aarch64-linux-musl --env HOST=aarch64-linux-gnu phusion/holy-build-box-64:latest bash /io/compile-arm.sh -``` - **Compiling 32-bit binaries**: ```sh -docker run -t -i --rm -v `pwd`:/io --env ARCH=arm --env CROSS=arm-linux-musleabihf --env HOST=arm-linux-gnueabihf phusion/holy-build-box-64:latest bash /io/compile-arm.sh +docker run -t -i --rm -v `pwd`:/io --env ARCH=i686 --env CROSS=i686-linux-musl --env HOST=i686-linux-musl phusion/holy-build-box-64:latest bash /io/cross-compile.sh ``` -64-bit (aarch64) and 32-bit (arm) binaries will be placed in the current directory. +**Compiling ARM 64-bit binaries**: + +```sh +docker run -t -i --rm -v `pwd`:/io --env ARCH=aarch64 --env CROSS=aarch64-linux-musl --env HOST=aarch64-linux-gnu phusion/holy-build-box-64:latest bash /io/cross-compile.sh +``` + +**Compiling ARM 32-bit binaries**: + +```sh +docker run -t -i --rm -v `pwd`:/io --env ARCH=arm --env CROSS=arm-linux-musleabihf --env HOST=arm-linux-gnueabihf phusion/holy-build-box-64:latest bash /io/cross-compile.sh +``` + +64-bit (aarch64) and 32-bit (x86, arm) binaries will be placed in the current directory. diff --git a/bin/compile.sh b/bin/compile.sh index 868a937..cdfd86e 100755 --- a/bin/compile.sh +++ b/bin/compile.sh @@ -35,7 +35,7 @@ source /hbb_exe/activate # download and compile fio cd ~ -curl -L https://github.com/axboe/fio/archive/fio-3.34.tar.gz -o "fio.tar.gz" +curl -L https://github.com/axboe/fio/archive/fio-3.35.tar.gz -o "fio.tar.gz" tar xf fio.tar.gz cd fio-fio* ./configure --disable-native @@ -48,7 +48,7 @@ cp fio /io/fio_$ARCH # download and compile iperf cd ~ -curl -L https://github.com/esnet/iperf/archive/3.13.tar.gz -o "iperf.tar.gz" +curl -L https://github.com/esnet/iperf/archive/3.14.tar.gz -o "iperf.tar.gz" tar xf iperf.tar.gz cd iperf* ./configure --disable-shared --disable-profiling diff --git a/bin/compile-arm.sh b/bin/cross-compile.sh similarity index 91% rename from bin/compile-arm.sh rename to bin/cross-compile.sh index 000cce0..0d3c9bc 100755 --- a/bin/compile-arm.sh +++ b/bin/cross-compile.sh @@ -26,7 +26,7 @@ source /hbb_exe/activate # download and compile fio cd ~ -curl -L https://github.com/axboe/fio/archive/fio-3.34.tar.gz -o "fio.tar.gz" +curl -L https://github.com/axboe/fio/archive/fio-3.35.tar.gz -o "fio.tar.gz" tar xf fio.tar.gz cd fio-fio* CC=/root/${CROSS}-cross/bin/${CROSS}-gcc ./configure --disable-native --build-static @@ -39,7 +39,7 @@ cp fio /io/fio_$ARCH # download and compile iperf cd ~ -curl -L https://github.com/esnet/iperf/archive/3.13.tar.gz -o "iperf.tar.gz" +curl -L https://github.com/esnet/iperf/archive/3.14.tar.gz -o "iperf.tar.gz" tar xf iperf.tar.gz cd iperf* CC=/root/${CROSS}-cross/bin/${CROSS}-gcc ./configure --disable-shared --disable-profiling --build x86_64-pc-linux-gnu --host ${HOST} --with-openssl=no --enable-static-bin diff --git a/bin/fio/fio_aarch64 b/bin/fio/fio_aarch64 index e893f69..8ec6896 100755 Binary files a/bin/fio/fio_aarch64 and b/bin/fio/fio_aarch64 differ diff --git a/bin/fio/fio_arm b/bin/fio/fio_arm index ef59dde..9e732da 100755 Binary files a/bin/fio/fio_arm and b/bin/fio/fio_arm differ diff --git a/bin/fio/fio_x64 b/bin/fio/fio_x64 index 8ad2ad0..f23fa40 100755 Binary files a/bin/fio/fio_x64 and b/bin/fio/fio_x64 differ diff --git a/bin/fio/fio_x86 b/bin/fio/fio_x86 index ab59b5f..5c786ff 100755 Binary files a/bin/fio/fio_x86 and b/bin/fio/fio_x86 differ diff --git a/bin/iperf/iperf3_aarch64 b/bin/iperf/iperf3_aarch64 index bc4aa04..22c2e36 100755 Binary files a/bin/iperf/iperf3_aarch64 and b/bin/iperf/iperf3_aarch64 differ diff --git a/bin/iperf/iperf3_arm b/bin/iperf/iperf3_arm index 8677df3..ce1694c 100755 Binary files a/bin/iperf/iperf3_arm and b/bin/iperf/iperf3_arm differ diff --git a/bin/iperf/iperf3_x64 b/bin/iperf/iperf3_x64 index 16ddf8f..2e70bcf 100755 Binary files a/bin/iperf/iperf3_x64 and b/bin/iperf/iperf3_x64 differ diff --git a/bin/iperf/iperf3_x86 b/bin/iperf/iperf3_x86 index 415fcb5..1418976 100755 Binary files a/bin/iperf/iperf3_x86 and b/bin/iperf/iperf3_x86 differ