GitRead 中文社区
首页趋势排行榜原创文章严选周刊
更多资源
新手训练营
精选专题热门话题GitHub 文档资源精选实战指南

yet-another-bench-script

YABS - a simple bash script to estimate Linux server performance using fio, iperf3, & Geekbench

  • 语言Shell
  • 默认分支master
  • 大小104.1 MB
  • 更新5 天前
在 GitHub 打开
avatarmasonr

项目介绍

masonr/yet-another-bench-script 是一个托管在 GitHub 上的开源项目,主要使用 Shell 编写,采用 Do What The F*ck You Want To Public License 许可证,目前获得 6.8k 个 Star、566 次 Fork。

仓库全名
masonr/yet-another-bench-script

README 摘要

Yet-Another-Bench-Script Presenting an attempt to create yet another Linux server benchmarking script... Logo design by Dian Pratama 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, network performance with iperf3, and CPU/memory performance with Geekbench. The script is…

完整内容见 GitHub 原始 README 或本页 。

常见问题

yet-another-bench-script 用什么语言开发?

主要使用 Shell 编写,采用 Do What The F*ck You Want To Public License 许可证,目前有 6.8k 个 Star。

yet-another-bench-script 可以免费商用吗?

仓库标注的许可证为 Do What The F*ck You Want To Public License,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 yet-another-bench-script 的源码?

可以直接克隆仓库:git clone https://github.com/masonr/yet-another-bench-script.git,默认分支为 master;安装与运行步骤见仓库 README。

yet-another-bench-script 最近还在维护吗?

仓库最近一次更新为 5 天前,当前没有未关闭的 Issue;Star 数为 6.8k,可作为社区活跃度的参考。

本页面展示项目元数据与原始 README,GitRead 中文社区 编辑团队负责选题收录。

相关仓库

mattpocock/skills avatar
skillsmattpocock
4 天前
319.2k
26.6k
204

面向真正工程师的技能。直接来自我的 .agents 目录。

Shell
2.2 MB
1
详情
obra/superpowers avatar
superpowersobra
5 天前
314.8k
28.0k
343

一套行之有效的智能体技能框架与软件开发方法论。

aibrainstormingcoding+5
Shell
7.9 MB
6
详情
ohmyzsh/ohmyzsh avatar
ohmyzshohmyzsh
9 分钟前
190.4k
27.2k
82

一个令人愉悦、由社区驱动(拥有 2,500 多名贡献者)的框架,用于管理你的 zsh 配置。包含 300 多个可选插件(rails、git、macOS、hub、docker、homebrew、node、php、python 等)、140 多个主题,为你的早晨增添乐趣,以及一个自动更新工具,便于跟进社区的最新更新。

clicli-appoh-my-zsh+12
Shell
14.1 MB
0
详情
msitarzewski/agency-agents avatar
agency-agentsmsitarzewski
12 小时前
167.4k
27.1k
233

触手可及的完整 AI 机构——从前端奇才到 Reddit 社区忍者,从灵感注入者到现实校验者。每位智能体都是具备个性、流程和成熟交付成果的专项专家。

Shell
5.2 MB
0
详情
d3/d3 avatar
d3d3
5 天前
113.9k
22.4k
4

用 SVG、Canvas 和 HTML 让数据栩栩如生。

visualizationdata-visualizationcharts+3
Shell
58.0 MB
0
详情
papers-we-love/papers-we-love avatar
papers-we-lovepapers-we-love
1 周前
111.3k
6.5k
4

计算机科学界可供阅读和讨论的论文。

computer-scienceread-papersmeetup+4
Shell
225.4 MB
0
详情
nvm-sh/nvm avatar
nvmnvm-sh
4 天前
95.8k
10.6k
322

Node Version Manager - 符合 POSIX 的 bash 脚本,用于管理多个活跃的 node.js 版本。

bashinstalllts+10
Shell
5.0 MB
0
详情
tw93/Mole avatar
Moletw93
31 分钟前
74.3k
2.7k
0

让你的 Mac 和 PC 保持干净、轻快,运行如新。快速的开源 CLI,以及原生 Mac 和 Windows 应用。

analyzerappcleanerclean+17
Shell
320.2 MB
0
详情

关于

bashbench-scriptbenchmarkbenchmark-scriptsdisk-performancefiogeekbenchiperf3linuxperformancespeedtest
  • Do What The F*ck You Want To Public License
  • 6.8k Stars
  • 566 Forks
  • 73 Watching

简要分析

热度分
8014
价值分
4262
活跃状态
活跃
GitHub

语言占比

Shell

Release

  • iperf3 3.22 Static Binaries10月2日
  • fio-3.43 Static Binaries9月27日
  • musl Cross Toolchains9月20日
  • iperf3 3.21 Static Binaries9月20日
  • fio-3.42 Static Binaries9月20日

贡献者

masonrmasonrhohlhohlsu-harissu-harisBKPepeBKPepeantonstechantonstechvpshostreviewvpshostreviewdirk150dirk150alfajorcitoalfajorcitowebdock-io-adminwebdock-io-admindqosdqosDebcharonDebcharonplerohellecplerohellec

Yet-Another-Bench-Script

Presenting an attempt to create yet another Linux server benchmarking script…

Logo design by Dian Pratama

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, network performance with iperf3, and CPU/memory performance with Geekbench. 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 Daily and Historical 📊 YABS Usage Stats Here 📈 (source).

Not sure what your numbers mean? 🔎 Paste your result for a rough assessment — flags storage class, network port, CPU scaling and common gotchas, with links to the wiki. Runs entirely in your browser; nothing is uploaded.

What’s New With YABS?

  • 04 Nov 2026 - Paste YABS output at https://stats.yabs.sh/assess to get a quick and dirty assessment of disk, network and CPU results.
  • 31 Oct 2026 - Launch of comprehensive YABS wiki covering topics from interpreting results, testing details, history, and more.
  • 31 Oct 2026 - Experimental RISC-V (riscv64) support added - fio/iperf3 static binaries and Geekbench 5/6/7 RISC-V preview builds are now supported.
  • 19 Sep 2026 - fio/iperf3 portable binary builds now automated via GitHub workflows.
  • 24 Jul 2026 - Geekbench 7 is now available via the -7 flag (Geekbench 6 remains the default).
  • 04 Jul 2026 - Check out YABS usage stats here -> https://stats.yabs.sh/

How to Run

curl -sL yabs.sh | bash

or

wget -qO- yabs.sh | bash

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 RISC-V Compatibility: Initial RISC-V (riscv64) compatibility has been introduced, however, is not considered entirely stable due to limited testing on distinct RISC-V 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).

Windows Users: This script can be run on Windows systems by using Windows Subsystem for Linux v2 (WSL 2). WSLv1 will not run the script and binaries correctly.

Flags (Skipping Tests, Reducing iperf Locations, Geekbench 4/5/6/7, etc.)

curl -sL yabs.sh | bash -s -- -flags
Flag Description
-b Forces use of pre-compiled binaries from repo over local packages
-f/-d Disables the fio (disk performance) test
-i Disables the iperf (network performance) test
-g Disables the Geekbench (system performance) test
-n Skips the network information lookup and print out
-h Prints the help message with usage, flags detected, and local package (fio/iperf) status
-r Reduces the number of iperf locations (Scaleway/Clouvider LON+NYC) to lessen bandwidth usage
-4 Runs a Geekbench 4 test and disables the Geekbench 6 test
-5 Runs a Geekbench 5 test and disables the Geekbench 6 test
-7 Runs a Geekbench 7 test and disables the Geekbench 6 test
-9 Runs both the Geekbench 4 and 5 tests instead of the Geekbench 6 test
-6 Re-enables the Geekbench 6 test if any of the following were used: -4, -5, -7, or -9 (-6 flag must be last to not be overridden)
-j Prints a JSON representation of the results to the screen
-w <filename> Writes the JSON results to a file using the file name provided
-s <url> Sends a JSON representation of the results to the designated URL(s) (see section below)

Options can be grouped together to skip multiple tests, i.e. -fg to skip the disk and system performance tests (effectively only testing network performance).

Geekbench License Key: A Geekbench license key can be utilized during the Geekbench test to unlock all features. Simply put the email and key for the license in a file called geekbench.license. echo "[email protected] ABCDE-12345-FGHIJ-57890" > geekbench.license

Submitting JSON Results

Results from running this script can be sent to your benchmark results website of choice in JSON format. Invoke the -s flag and pass the URL to where the results should be submitted to:

curl -sL https://yabs.sh | bash -s -- -s "https://example.com/yabs/post"

JSON results can be sent to multiple endpoints by entering each site joined by a comma (e.g. “https://example.com/yabs/post,http://example.com/yabs2/post”).

Sites supporting submission of YABS JSON results:

Website Example Command
YABSdb curl -sL yabs.sh | bash -s -- -s "https://yabsdb.com/add"
VPSBenchmarks curl -sL yabs.sh | bash -s -- -s https://www.vpsbenchmarks.com/yabs/upload
serverlist.dev curl -sL yabs.sh | bash -s -- -s "https://serverlist.dev/api/v1/yabs/submit"
ServerVerify (sign up for account)
VPS Host Review curl -sL yabs.sh | bash -s -- -s "https://vpshostreview.com/yabs"

Example JSON output: example.json.

Tests Conducted

  • fio - the most comprehensive I/O testing software available, fio grants the ability to evaluate disk performance in a variety of methods with a variety of options. Four random read and write fio disk tests are conducted as part of this script with 4k, 64k, 512k, and 1m block sizes. The tests are designed to evaluate disk throughput in near-real world (using random) scenarios with a 50/50 split (50% reads and 50% writes per test).
  • iperf3 - the industry standard for testing download and upload speeds to various locations. This script utilizes iperf3 with 8 parallel threads and tests both download and upload speeds. If an iperf server is busy after 5 tries, the speed test for that location/direction is skipped.
  • Geekbench - Geekbench is a benchmarking program that measures system performance, which is widely used in the tech community. The web URL is displayed to be able to see complete test and individual benchmark results and allow comparison to other geekbench’d systems. The claim URL to add the Geekbench result to your Geekbench profile is written to a file in the directory that this script is executed from. By default, Geekbench 6 is the only Geekbench test performed, however, Geekbench 4, 5, and/or 7 can also be toggled on by passing the appropriate flag.

Security Notice

This script relies on external binaries in order to complete the performance tests. The network (iperf3) and disk (fio) tests use binaries that are built by GitHub Actions workflows in a Holy Build Box compilation environment to ensure binary portability, and are published as release assets on this repository (scanned via VirusTotal with SHA-256 checksums included). The reasons for using pre-compiled binaries include ensuring standardized (parsable) output, allowing support of both 32-bit and 64-bit architectures, bypassing the need for prerequisites to be compiled and/or installed, among other reasons. For the system test, a Geekbench tarball is downloaded, extracted, and the resulting binary is run. Use this script at your own risk as you would with any script publicly available on the net. Additional information regarding the binaries, including compilation notes and steps, can be found in the bin directory’s README page.

Example Output

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2023-04-23                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun 23 Apr 2023 01:41:14 PM EDT

Basic System Information:
---------------------------------
Uptime     : 342 days, 18 hours, 35 minutes
Processor  : Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz
CPU cores  : 12 @ 4693.667 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 15.5 GiB
Swap       : 14.9 GiB
Disk       : 864.5 GiB
Distro     : Ubuntu 20.04.6 LTS
Kernel     : 5.4.0-110-generic
VM Type    : NONE
IPv4/IPv6  : ✔ Online / ✔ Online

IPv6 Network Information:
---------------------------------
ISP        : Clouvider Limited
ASN        : AS62240 Clouvider
Host       : USA Network
Location   : New York, New York (NY)
Country    : United States

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 405.41 MB/s (101.3k) | 407.96 MB/s   (6.3k)
Write      | 406.48 MB/s (101.6k) | 410.11 MB/s   (6.4k)
Total      | 811.90 MB/s (202.9k) | 818.08 MB/s  (12.7k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 380.21 MB/s    (742) | 394.55 MB/s    (385)
Write      | 400.41 MB/s    (782) | 420.82 MB/s    (410)
Total      | 780.62 MB/s   (1.5k) | 815.37 MB/s    (795)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping
-----           | -----                     | ----            | ----            | ----
Clouvider       | London, UK (10G)          | 1.61 Gbits/sec  | 2.39 Gbits/sec  | 77.5 ms
Scaleway        | Paris, FR (10G)           | busy            | 2.25 Gbits/sec  | 83.3 ms
Clouvider       | NYC, NY, US (10G)         | 9.10 Gbits/sec  | 8.85 Gbits/sec  | 1.21 ms

iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping
-----           | -----                     | ----            | ----            | ----
Clouvider       | London, UK (10G)          | 2.00 Gbits/sec  | 21.1 Mbits/sec  | 76.7 ms
Scaleway        | Paris, FR (10G)           | 2.66 Gbits/sec  | 1.56 Gbits/sec  | 75.9 ms
Clouvider       | NYC, NY, US (10G)         | 3.42 Gbits/sec  | 7.80 Gbits/sec  | 1.15 ms

Geekbench 4 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 5949
Multi Core      | 23425
Full Test       | https://browser.geekbench.com/v4/cpu/16746501

Geekbench 5 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 1317
Multi Core      | 5529
Full Test       | https://browser.geekbench.com/v5/cpu/21102444

Geekbench 6 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 1549
Multi Core      | 5278
Full Test       | https://browser.geekbench.com/v6/cpu/1021916

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, nench.sh, ServerBench, among others. Members of the HostBalls, LowEndSpirit, and LowEndTalk hosting-related communities play a pivotal role in testing, evaluating, and shaping this script as it matures.

License

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                    Version 2, December 2004

 Copyright (C) 2019 Mason Rowe <[email protected]>

 Everyone is permitted to copy and distribute verbatim or modified
 copies of this license document, and changing it is allowed as long
 as the name is changed.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. You just DO WHAT THE FUCK YOU WANT TO.

评论

登录 后发表评论
暂无评论
GitRead 中文社区
深度解读 · 趋势洞察 · 价值精选

关于

关于我们联系我们编辑准则收录标准赞赏人员

发现

技术趋势新手训练营资源精选实战指南精选专题热门话题GitHub 文档

条款

隐私政策服务条款网站地图
26.9万收录项目
5.1万中文话题
155精选专题
发现技术价值,连接开源智慧
© 2026 GitRead · GitHub 中文社区 本站与 GitHub, Inc. 无隶属关系;GitHub 是 GitHub, Inc. 的商标。