iperf3 is a command-line tool for measuring the maximum achievable bandwidth on IP networks over TCP, UDP, and SCTP.
masonr/yet-another-bench-script
A single bash script that benchmarks a Linux server's disk, network, and CPU/memory using fio, iperf3, and Geekbench.
- Stars
- 6,807
- Forks
- 573
- Open issues
- 9
- Last commit
- 3 days ago
What is it?
YABS (Yet-Another-Bench-Script) is a shell script that runs common benchmarking tools on a Linux server and prints the results in one report. It covers disk I/O with fio, network throughput with iperf3 against several public locations, and CPU and memory performance with Geekbench. It also prints basic system information such as processor, RAM, disk, distro, kernel, and IP details.
The script is meant to run without installing dependencies or using root privileges. It is launched with a single curl or wget command piped into bash. Flags let you skip individual tests, reduce iperf locations for low-bandwidth VPS plans, or choose Geekbench 4, 5, or 7 instead of the default Geekbench 6. Results can be output as JSON, saved to a file, or submitted to several VPS benchmark sites.
The fio and iperf3 binaries are precompiled and published from GitHub Actions workflows, while Geekbench is downloaded at runtime. Because it is a bash script that downloads and runs binaries, users are advised to read it before running it on production hosts.
Key features
- 01Runs fio disk tests with 4k, 64k, 512k, and 1m block sizes in a mixed 50/50 read/write pattern.
- 02Tests network speed with iperf3 against multiple public locations over IPv4 and IPv6.
- 03Runs Geekbench 6 by default, with flags for Geekbench 4, 5, and 7.
- 04Requires no external dependencies or elevated privileges to run.
- 05Outputs results as text, JSON, or a file, and can submit JSON to benchmark sites.
Use cases
- Comparing the disk, network, and CPU performance of VPS providers before buying a plan.
- Checking a newly provisioned server's performance against its advertised specs.
- Collecting consistent benchmark data across many servers in a scripted way.
- Running quick diagnostics on a low-bandwidth server using the reduced-test flags.
Quick start
- 1
Run the official one-line script from the README (pipes a remote script into bash, so no command is shown)
Things to know
- Runs on Linux only; on Windows it requires WSL 2, since WSL 1 does not run it correctly.
- By default it saturates the network port for about 20 seconds per location, so low-bandwidth servers should use the -r or -i flag.
- It downloads precompiled fio and iperf3 binaries and a Geekbench tarball at run time, so you must trust those external binaries.
- ARM support is experimental and not considered entirely stable.
Topics
FAQ
- What is yet-another-bench-script?
- A single bash script that benchmarks a Linux server's disk, network, and CPU/memory using fio, iperf3, and Geekbench. YABS (Yet-Another-Bench-Script) is a shell script that runs common benchmarking tools on a Linux server and prints the results in one report. It covers disk I/O with fio, network throughput with iperf3 against several public locations, and CPU and memory performance with Geekbench. It also prints basic system information such as processor, RAM, disk, distro, kernel, and IP details.
- Is yet-another-bench-script free to use? What license does it have?
- yet-another-bench-script is open source under the WTFPL license. Check the license terms before using it in commercial products.
- Is yet-another-bench-script still maintained?
- Actively maintained. The last commit to yet-another-bench-script was on Nov 4, 2026.
- What can I use yet-another-bench-script for?
- Comparing the disk, network, and CPU performance of VPS providers before buying a plan. Checking a newly provisioned server's performance against its advertised specs. Collecting consistent benchmark data across many servers in a scripted way. Running quick diagnostics on a low-bandwidth server using the reduced-test flags.
- How do I install yet-another-bench-script?
- Run the official one-line script from the README (pipes a remote script into bash, so no command is shown)
- Where can I get yet-another-bench-script?
- The source code and installation instructions are on GitHub: https://github.com/masonr/yet-another-bench-script
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
One-line bash script that runs a full server check-up: hardware and benchmarks, IP quality, and network latency and routing.
Self-hosted network speed testing and server monitoring tool with a web UI, built in Go and React.
Command-line tool for installing, updating, monitoring and backing up 100+ Linux dedicated game servers.
A shell script that sets up a WireGuard VPN server on Linux in minutes and manages its clients.
Warp is an agentic development environment built out of the terminal, with a built-in coding agent or support for your own CLI agents.