mirror of
https://github.com/AuxXxilium/yet-another-bench-script.git
synced 2024-11-23 23:01:02 +07:00
Add partition details to disk test; fix ShellCheck CI; README updates
This commit is contained in:
parent
02caab5560
commit
eac2ab209a
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -3,7 +3,7 @@ name: CI 🤖
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
shellcheck:
|
shellcheck:
|
||||||
|
@ -5,9 +5,7 @@ Presenting an attempt to create _yet another_ Linux server *bench*marking _scrip
|
|||||||
![](https://user-images.githubusercontent.com/8313125/106475387-e1f6da00-6473-11eb-918c-c785ebeef8b9.jpg)
|
![](https://user-images.githubusercontent.com/8313125/106475387-e1f6da00-6473-11eb-918c-c785ebeef8b9.jpg)
|
||||||
Logo design by [Dian Pratama](https://github.com/dianp)
|
Logo design by [Dian Pratama](https://github.com/dianp)
|
||||||
|
|
||||||
This script throws together and automates the execution of the best benchmarking tools of the biz. Included are several tests to check the performance of critical areas of a server: disk performance with [fio](https://github.com/axboe/fio), network performance with [iperf3](https://github.com/esnet/iperf), and CPU/memory performance with [Geekbench](https://www.geekbench.com/). The script is designed to not require any external dependencies to be installed nor elevated privileges to run. If there are any features that you would like to see added, feel free to submit an issue describing your feature request or fork the project and submit a PR!
|
This script automates the execution of the best benchmarking tools in the industry. Included are several tests to check the performance of critical areas of a server: disk performance with [fio](https://github.com/axboe/fio), network performance with [iperf3](https://github.com/esnet/iperf), and CPU/memory performance with [Geekbench](https://www.geekbench.com/). The script is designed to not require any external dependencies to be installed nor elevated privileges to run. If there are any features that you would like to see added, feel free to submit an issue describing your feature request or fork the project and submit a PR!
|
||||||
|
|
||||||
View YABS usage stats [here](https://yabs.rowe.sh).
|
|
||||||
|
|
||||||
### **What's New With YABS?**
|
### **What's New With YABS?**
|
||||||
* [27 Feb 2023](https://github.com/masonr/yet-another-bench-script/commit/06eaa2ab3b32355bec8278c51c4be93b3662a96d) - Newly released [Geekbench 6](https://www.geekbench.com/) is added as the default Geekbench test.
|
* [27 Feb 2023](https://github.com/masonr/yet-another-bench-script/commit/06eaa2ab3b32355bec8278c51c4be93b3662a96d) - Newly released [Geekbench 6](https://www.geekbench.com/) is added as the default Geekbench test.
|
||||||
@ -26,14 +24,14 @@ or
|
|||||||
wget -qO- yabs.sh | bash
|
wget -qO- yabs.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
This script has been tested on the following Linux distributions: CentOS 6+, Debian 8+, Fedora 30, and Ubuntu 16.04+.
|
|
||||||
|
|
||||||
**Local fio/iperf3 Packages**: If the tested system has fio and/or iperf3 already installed, the local package will take precedence over the precompiled binary.
|
**Local fio/iperf3 Packages**: If the tested system has fio and/or iperf3 already installed, the local package will take precedence over the precompiled binary.
|
||||||
|
|
||||||
**Experimental ARM Compatibility**: Initial ARM compatibility has been introduced, however, is not considered entirely stable due to limited testing on distinct ARM devices. Report any errors or issues.
|
**Experimental ARM Compatibility**: Initial ARM compatibility has been introduced, however, is not considered entirely stable due to limited testing on distinct ARM devices. Report any errors or issues.
|
||||||
|
|
||||||
**High Bandwidth Usage Notice**: By default, this script will perform many iperf network tests, which will try to max out the network port for ~20s per location (10s in each direction). Low-bandwidth servers (such as a NAT VPS) should consider running this script with the `-r` flag (for reduced iperf locations) or the `-i` flag (to disable network tests entirely).
|
**High Bandwidth Usage Notice**: By default, this script will perform many iperf network tests, which will try to max out the network port for ~20s per location (10s in each direction). Low-bandwidth servers (such as a NAT VPS) should consider running this script with the `-r` flag (for reduced iperf locations) or the `-i` flag (to disable network tests entirely).
|
||||||
|
|
||||||
|
**Windows Users**: This script can be run on Windows systems by using [Windows Subsystem for Linux v2 (WSL 2)](https://learn.microsoft.com/en-us/windows/wsl/about). WSLv1 will not run the script and binaries correctly.
|
||||||
|
|
||||||
### Flags (Skipping Tests, Reducing iperf Locations, Geekbench 4/5/6, etc.)
|
### Flags (Skipping Tests, Reducing iperf Locations, Geekbench 4/5/6, etc.)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
5
yabs.sh
5
yabs.sh
@ -635,12 +635,13 @@ elif [ -z "$SKIP_FIO" ]; then
|
|||||||
printf "%-6s | %-11s | %-11s | %-11s | %-6.2f %-4s\n" "Write" "${DISK_WRITE_TEST_RES[0]}" "${DISK_WRITE_TEST_RES[1]}" "${DISK_WRITE_TEST_RES[2]}" "${DISK_WRITE_TEST_AVG}" "${DISK_WRITE_TEST_UNIT}"
|
printf "%-6s | %-11s | %-11s | %-11s | %-6.2f %-4s\n" "Write" "${DISK_WRITE_TEST_RES[0]}" "${DISK_WRITE_TEST_RES[1]}" "${DISK_WRITE_TEST_RES[2]}" "${DISK_WRITE_TEST_AVG}" "${DISK_WRITE_TEST_UNIT}"
|
||||||
printf "%-6s | %-11s | %-11s | %-11s | %-6.2f %-4s\n" "Read" "${DISK_READ_TEST_RES[0]}" "${DISK_READ_TEST_RES[1]}" "${DISK_READ_TEST_RES[2]}" "${DISK_READ_TEST_AVG}" "${DISK_READ_TEST_UNIT}"
|
printf "%-6s | %-11s | %-11s | %-11s | %-6.2f %-4s\n" "Read" "${DISK_READ_TEST_RES[0]}" "${DISK_READ_TEST_RES[1]}" "${DISK_READ_TEST_RES[2]}" "${DISK_READ_TEST_AVG}" "${DISK_READ_TEST_UNIT}"
|
||||||
else # fio tests completed successfully, print results
|
else # fio tests completed successfully, print results
|
||||||
[[ ! -z $JSON ]] && JSON_RESULT+=',"fio":['
|
CURRENT_PARTITION=$(df -P . 2>/dev/null | tail -1 | cut -d' ' -f 1)
|
||||||
|
[[ ! -z $JSON ]] && JSON_RESULT+=',"partition":"'$CURRENT_PARTITION'","fio":['
|
||||||
DISK_RESULTS_NUM=$(expr ${#DISK_RESULTS[@]} / 6)
|
DISK_RESULTS_NUM=$(expr ${#DISK_RESULTS[@]} / 6)
|
||||||
DISK_COUNT=0
|
DISK_COUNT=0
|
||||||
|
|
||||||
# print disk speed test results
|
# print disk speed test results
|
||||||
echo -e "fio Disk Speed Tests (Mixed R/W 50/50):"
|
echo -e "fio Disk Speed Tests (Mixed R/W 50/50) (Partition $CURRENT_PARTITION):"
|
||||||
echo -e "---------------------------------"
|
echo -e "---------------------------------"
|
||||||
|
|
||||||
while [ $DISK_COUNT -lt $DISK_RESULTS_NUM ] ; do
|
while [ $DISK_COUNT -lt $DISK_RESULTS_NUM ] ; do
|
||||||
|
Loading…
Reference in New Issue
Block a user