脚本简介
一个使用 fio、iperf3 和 Geekbench 估计 Linux 服务器性能的简单 bash 脚本
脚本用法
# curl -sL yabs.sh | bash 或者 # wget -qO- yabs.sh | bash
该脚本已在以下 Linux 发行版上进行了测试:CentOS 6+、Debian 8+、Fedora 30 和 Ubuntu 16.04+。它旨在不需要安装任何外部依赖项,也不需要提升运行权限。
本地 fio/iperf3 包:如果测试系统已经安装了 fio 和/或 iperf3,则本地包将优先于预编译的二进制文件。
实验性 ARM 兼容性:引入了初始 ARM 兼容性,但由于在不同 ARM 设备上的测试有限,因此并不认为完全稳定。报告任何错误或问题。
高带宽使用注意事项:默认情况下,此脚本将执行许多 iperf 网络测试,这将尝试将网络端口最大化每个位置约 20 秒(每个方向 10 秒)。低带宽服务器(例如 NAT VPS)应考虑使用-r
标志(用于减少 iperf 位置)或-i
标志(完全禁用网络测试)运行此脚本。
脚本解析
fio – 可用的最全面的 I/O 测试软件,fio 能够以多种方法和多种选项评估磁盘性能。作为该脚本的一部分,使用 4k、64k、512k 和 1m 块大小进行了四次随机读写 fio 磁盘测试。这些测试旨在以 50/50 分割(每次测试 50% 读取和 50% 写入)评估接近真实世界(使用随机)场景中的磁盘吞吐量。
iperf3 – 测试不同位置下载和上传速度的行业标准。此脚本使用具有 8 个并行线程的 iperf3 并测试下载和上传速度。如果 iperf 服务器在 5 次尝试后繁忙,则跳过该位置/方向的速度测试。
Geekbench – Geekbench 是一个衡量系统性能的基准测试程序,广泛用于技术社区。显示 Web URL 以便能够查看完整的测试和单独的基准测试结果,并允许与其他 geekbench 的系统进行比较。将 Geekbench 结果添加到您的 Geekbench 配置文件的声明 URL 将写入执行此脚本的目录中的文件。默认情况下,Geekbench 5 是唯一执行的 Geekbench 测试,但是,也可以通过传递适当的标志来切换 Geekbench 4。
默认情况下,脚本会运行下面下一节中描述的所有三个测试。如果您希望跳过一项或多项测试,请使用以下命令:
curl -sL yabs.sh | bash -s -- -{bfdighr49}
-b
此选项强制使用来自 repo 的预编译二进制文件而不是本地包-f
/-d
这个选项禁用fio(磁盘性能)测试-i
此选项禁用 iperf(网络性能)测试-g
此选项禁用 Geekbench(系统性能)测试-h
此选项打印带有用法、检测到的标志和本地包 (fio/iperf) 状态的帮助消息-r
此选项减少 iperf 位置的数量 (Online.net/Clouvider LON+NYC) 以减少带宽使用-4
此选项会覆盖 Geekbench 5 性能测试并改为运行 Geekbench 4 测试-9
除了 Geekbench 5 测试之外,此选项还运行 Geekbench 4 测试
选项可以组合在一起跳过多个测试,即-fg
跳过磁盘和系统性能测试(实际上只测试网络性能)。
Geekbench 许可证密钥:可以在 Geekbench 测试期间使用 Geekbench 许可证密钥来解锁所有功能。只需将许可证的电子邮件和密钥放在一个名为geekbench.license的文件中。echo "email@domain.com ABCDE-12345-FGHIJ-57890" > geekbench.license
脚本示例
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # # Yet-Another-Bench-Script # # v2020-09-21 # # https://github.com/masonr/yet-another-bench-script # # ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## # Mon 21 Sep 2020 12:31:13 AM EDT Basic System Information: --------------------------------- Processor : Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz CPU cores : 12 @ 800.087 MHz AES-NI : ✔ Enabled VM-x/AMD-V : ✔ Enabled RAM : 15Gi Swap : 14Gi Disk : 865G fio Disk Speed Tests (Mixed R/W 50/50): --------------------------------- Block Size | 4k (IOPS) | 64k (IOPS) ------ | --- ---- | ---- ---- Read | 445.04 MB/s (111.2k) | 475.05 MB/s (7.4k) Write | 446.22 MB/s (111.5k) | 477.55 MB/s (7.4k) Total | 891.26 MB/s (222.8k) | 952.60 MB/s (14.8k) | | Block Size | 512k (IOPS) | 1m (IOPS) ------ | --- ---- | ---- ---- Read | 474.42 MB/s (926) | 472.32 MB/s (461) Write | 499.63 MB/s (975) | 503.77 MB/s (491) Total | 974.05 MB/s (1.9k) | 976.10 MB/s (952) iperf3 Network Speed Tests (IPv4): --------------------------------- Provider | Location (Link) | Send Speed | Recv Speed | | | Clouvider | London, UK (10G) | 1.19 Gbits/sec | 2.39 Gbits/sec Online.net | Paris, FR (10G) | 2.35 Gbits/sec | 2.04 Gbits/sec WorldStream | The Netherlands (10G) | 2.17 Gbits/sec | 1.29 Gbits/sec Wifx | Zurich, CH (10G) | 1.28 Gbits/sec | 522 Mbits/sec Biznet | Jakarta, Indonesia (1G) | 19.4 Mbits/sec | 41.8 Mbits/sec Clouvider | NYC, NY, US (10G) | 9.40 Gbits/sec | 9.41 Gbits/sec Velocity Online | Tallahassee, FL, US (10G) | 2.39 Gbits/sec | 2.94 Gbits/sec Clouvider | Los Angeles, CA, US (10G) | 2.40 Gbits/sec | 2.89 Gbits/sec Iveloz Telecom | Sao Paulo, BR (2G) | 136 Mbits/sec | 192 Mbits/sec iperf3 Network Speed Tests (IPv6): --------------------------------- Provider | Location (Link) | Send Speed | Recv Speed | | | Clouvider | London, UK (10G) | 803 Mbits/sec | 2.09 Gbits/sec Online.net | Paris, FR (10G) | 2.32 Gbits/sec | 2.20 Gbits/sec WorldStream | The Netherlands (10G) | 1.95 Gbits/sec | 1.49 Gbits/sec Wifx | Zurich, CH (10G) | 168 Mbits/sec | 579 Mbits/sec Clouvider | NYC, NY, US (10G) | 9.28 Gbits/sec | 9.28 Gbits/sec Clouvider | Los Angeles, CA, US (10G) | 2.80 Gbits/sec | 2.90 Gbits/sec Geekbench 4 Benchmark Test: --------------------------------- Test | Value | Single Core | 6035 Multi Core | 24473 Full Test | https://browser.geekbench.com/v4/cpu/15770150 Geekbench 5 Benchmark Test: --------------------------------- Test | Value | Single Core | 1348 Multi Core | 5857 Full Test | https://browser.geekbench.com/v5/cpu/3844555