又一个基准测试脚本
这是一次尝试创建又一个Linux服务器基准测试_脚本_...
标志设计:Dian Pratama
这个脚本自动执行了业界最佳的基准测试工具。包括了几项测试来检查服务器关键领域的性能:使用fio进行磁盘性能测试,使用iperf3进行网络性能测试,以及使用Geekbench进行CPU/内存性能测试。该脚本设计无需安装任何外部依赖,也不需要提升权限即可运行。如果您希望添加任何功能,欢迎提交描述您功能请求的问题,或者分叉项目并提交PR!
YABS有什么新功能?
- 2023年2月27日 - 新发布的Geekbench 6被添加为默认的Geekbench测试。
- 2023年2月26日 - 使用ip-api将网络信息添加到YABS输出中。
- 2022年8月15日 - 添加了JSON输出/上传支持,用于导出或自动上传YABS结果以便分享。
如何运行
curl -sL yabs.sh | bash
或
wget -qO- yabs.sh | bash
本地fio/iperf3包:如果被测试系统已安装fio和/或iperf3,本地包将优先于预编译二进制文件使用。
ARM兼容性实验:初步引入了ARM兼容性,但由于在不同ARM设备上的测试有限,尚未被认为完全稳定。请报告任何错误或问题。
高带宽使用通知:默认情况下,此脚本将执行多项iperf网络测试,这将尝试在每个位置最大化网络端口约20秒(每个方向10秒)。低带宽服务器(如NAT VPS)应考虑使用-r
标志(减少iperf位置)或-i
标志(完全禁用网络测试)运行此脚本。
Windows用户:可以通过使用Windows Subsystem for Linux v2 (WSL 2)在Windows系统上运行此脚本。WSLv1无法正确运行脚本和二进制文件。
标志(跳过测试、减少iperf位置、Geekbench 4/5/6等)
curl -sL yabs.sh | bash -s -- -flags
标志 | 描述 |
---|---|
-b | 强制使用仓库中的预编译二进制文件而非本地包 |
-f/-d | 禁用fio(磁盘性能)测试 |
-i | 禁用iperf(网络性能)测试 |
-g | 禁用Geekbench(系统性能)测试 |
-n | 跳过网络信息查询和打印 |
-h | 打印帮助信息,包括用法、检测到的标志和本地包(fio/iperf)状态 |
-r | 减少iperf位置数量(Scaleway/Clouvider LON+NYC)以减少带宽使用 |
-4 | 运行Geekbench 4测试并禁用Geekbench 6测试 |
-5 | 运行Geekbench 5测试并禁用Geekbench 6测试 |
-9 | 同时运行Geekbench 4和5测试,而不是Geekbench 6测试 |
-6 | 如果使用了以下任何一项:-4、-5或-9,则重新启用Geekbench 6测试(-6标志必须放在最后以避免被覆盖) |
-j | 将结果的JSON表示打印到屏幕上 |
-w <filename> | 使用提供的文件名将JSON结果写入文件 |
-s <url> | 将结果的JSON表示发送到指定的URL(见下面的部分) |
可以将选项组合在一起以跳过多个测试,例如-fg
可跳过磁盘和系统性能测试(实际上只测试网络性能)。
Geekbench许可证密钥:Geekbench许可证密钥可在Geekbench测试期间使用以解锁所有功能。只需将许可证的电子邮件和密钥放入名为_geekbench.license_的文件中即可。echo "email@domain.com ABCDE-12345-FGHIJ-57890" > geekbench.license
提交JSON结果
运行此脚本的结果可以以JSON格式发送到您选择的基准测试结果网站。使用-s
标志并传递结果应提交到的URL:
curl -sL yabs.sh | bash -s -- -s "https://example.com/yabs/post"
JSON结果可以通过输入以逗号连接的每个站点来发送到多个端点(例如"https://example.com/yabs/post,http://example.com/yabs2/post")。
支持提交YABS JSON结果的网站:
网站 | 示例命令 |
---|---|
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 |
JSON输出示例:example.json。
进行的测试
-
fio - 最全面的I/O测试软件,fio能够以各种方法和选项评估磁盘性能。作为此脚本的一部分,进行了四种随机读写fio磁盘测试,块大小分别为4k、64k、512k和1m。这些测试旨在评估近真实世界(使用随机)场景下的磁盘吞吐量,每次测试分别进行50%的读取和50%的写入。
-
iperf3 - 测试各个位置下载和上传速度的行业标准。此脚本使用8个并行线程的iperf3,并测试下载和上传速度。如果iperf服务器在5次尝试后仍然忙碌,则跳过该位置/方向的速度测试。
-
Geekbench - Geekbench是一个衡量系统性能的基准测试程序,在科技社区广泛使用。显示网址以便查看完整测试和个别基准结果,并允许与其他进行过Geekbench测试的系统进行比较。将Geekbench结果添加到您的Geekbench个人资料的声明URL会被写入执行此脚本的目录中的文件。默认情况下,只进行Geekbench 6测试,但可以通过传递适当的标志来开启Geekbench 4和/或5。
安全提示
此脚本依赖外部二进制文件来完成性能测试。网络(iperf3)和磁盘(fio)测试使用我自己使用Holy Build Box编译环境编译的二进制文件,以确保二进制文件的可移植性。这样做的原因包括确保标准化(可解析)输出,支持32位和64位架构,绕过需要编译和/或安装先决条件等。对于系统测试,会下载并解压Geekbench压缩包,然后运行生成的二进制文件。使用此脚本时请自行承担风险,就像使用网上任何公开可用的脚本一样。有关二进制文件的其他信息,包括编译说明和步骤,可以在bin目录的README页面中找到。
输出示例
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
# Yet-Another-Bench-Script #
# v2023-04-23 #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
2023年4月23日星期日 下午01:41:14 EDT
基本系统信息:
---------------------------------
运行时间 : 342天,18小时,35分钟
处理器 : Intel(R) Xeon(R) E-2276G CPU @ 3.80GHz
CPU核心数 : 12 @ 4693.667 MHz
AES-NI : ✔ 已启用
VM-x/AMD-V : ✔ 已启用
内存 : 15.5 GiB
交换空间 : 14.9 GiB
硬盘 : 864.5 GiB
发行版 : Ubuntu 20.04.6 LTS
内核 : 5.4.0-110-generic
虚拟机类型 : 无
IPv4/IPv6 : ✔ 在线 / ✔ 在线
IPv6网络信息:
---------------------------------
ISP : Clouvider Limited
ASN : AS62240 Clouvider
主机 : 美国网络
位置 : 纽约州纽约市
国家 : 美国
fio磁盘速度测试(混合读写50/50):
---------------------------------
块大小 | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
读取 | 405.41 MB/s (101.3k) | 407.96 MB/s (6.3k)
写入 | 406.48 MB/s (101.6k) | 410.11 MB/s (6.4k)
总计 | 811.90 MB/s (202.9k) | 818.08 MB/s (12.7k)
| |
块大小 | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
读取 | 380.21 MB/s (742) | 394.55 MB/s (385)
写入 | 400.41 MB/s (782) | 420.82 MB/s (410)
总计 | 780.62 MB/s (1.5k) | 815.37 MB/s (795)
iperf3网络速度测试(IPv4):
---------------------------------
提供商 | 位置(链接) | 发送速度 | 接收速度 | 延迟
----- | ----- | ---- | ---- | ----
Clouvider | 英国伦敦(10G) | 1.61 Gbits/sec | 2.39 Gbits/sec | 77.5 ms
Scaleway | 法国巴黎(10G) | 繁忙 | 2.25 Gbits/sec | 83.3 ms
Clouvider | 美国纽约(10G) | 9.10 Gbits/sec | 8.85 Gbits/sec | 1.21 ms
iperf3网络速度测试(IPv6):
---------------------------------
提供商 | 位置(链接) | 发送速度 | 接收速度 | 延迟
----- | ----- | ---- | ---- | ----
Clouvider | 英国伦敦(10G) | 2.00 Gbits/sec | 21.1 Mbits/sec | 76.7 ms
Scaleway | 法国巴黎(10G) | 2.66 Gbits/sec | 1.56 Gbits/sec | 75.9 ms
Clouvider | 美国纽约(10G) | 3.42 Gbits/sec | 7.80 Gbits/sec | 1.15 ms
Geekbench 4基准测试:
---------------------------------
测试 | 得分
|
单核 | 5949
多核 | 23425
完整测试 | https://browser.geekbench.com/v4/cpu/16746501
Geekbench 5基准测试:
---------------------------------
测试 | 得分
|
单核 | 1317
多核 | 5529
完整测试 | https://browser.geekbench.com/v5/cpu/21102444
Geekbench 6基准测试:
---------------------------------
测试 | 得分
|
单核 | 1549
多核 | 5278
完整测试 | https://browser.geekbench.com/v6/cpu/1021916
YABS完成用时12分49秒
致谢
本脚本的灵感来自多个优秀的基准测试脚本,包括但不限于bench.sh、nench.sh、ServerBench等。HostBalls、LowEndSpirit和LowEndTalk等主机相关社区的成员在测试、评估和塑造这个脚本的成熟过程中发挥了关键作用。
许可证
随你怎么玩公共许可证
第2版,2004年12月
版权所有 (C) 2019 Mason Rowe <mason@rowe.sh>
任何人都可以复制和分发本许可证文档的完整或修改
版本,并且允许更改,只要更改了名称即可。
随你怎么玩公共许可证
复制、分发和修改的条款和条件
0. 你想怎么玩就怎么玩。