Linux服务器性能测试脚本
编辑一、Bench.sh 是什么?
Bench.sh 是由一位昵称为 OldKing 的开发者编写的轻量级Linux服务器性能测试脚本。它的核心设计哲学是:简单、快速、信息全面。
你不需要安装任何额外的软件包,通常只需要一行命令,脚本就能在几分钟内为你提供关于服务器以下关键信息的基础报告:
系统信息:CPU型号、核心数、内存大小、硬盘容量、虚拟化技术等。
网络信息:各个地区(主要是亚洲和北美)的延迟和下载速度测试。
磁盘I/O性能:测试硬盘的读写速度,这对数据库和网站性能至关重要。
Geekbench 性能评分(可选):一个权威的跨平台处理器性能评分,用于横向对比。
由于其输出结果格式固定,非常适合用来在论坛、社区或朋友间快速分享和对比服务器性能。
二、Bench.sh 的核心特点
极致简单:一条命令,无参数依赖,开箱即用。
无需安装:直接通过
wget下载并执行,干净利落。测试全面:涵盖了CPU、内存、磁盘I/O、网络等核心指标。
结果直观:输出格式清晰,数据一目了然,方便对比。
轻量且快速:测试过程通常在2-5分钟内完成,对服务器资源占用低。
三、如何使用 Bench.sh?(附注意事项)
基本使用方法:
使用前,请确保你已通过SSH连接到你的Linux服务器(推荐使用非root用户加sudo权限)。
复制以下命令并回车:
wget -qO- bench.sh | bash
# 或者
curl -sL bench.sh | bash接下来,脚本就会自动运行并依次输出测试结果。
命令分解解释:
wget -qO- bench.sh或curl -sL bench.sh: quietly(安静地)从网络下载 bench.sh 脚本的内容。| bash: 将下载的内容通过管道(|)传递给bash解释器并立即执行。
重要注意事项(务必阅读!):
安全警告: 直接从网络下载并执行脚本是存在安全风险的。你应该只在你信任的服务器上运行此命令,并且确保你信任脚本的来源(bench.sh 是社区公认的安全脚本)。原则上,永远不要随意管道一个未知的URL到bash。
兼容性: 脚本主要针对基于 Debian/Ubuntu 和 CentOS/RHEL 的系统进行了测试。在其他发行版(如ArchLinux、OpenSUSE)上可能部分信息无法正常显示。
网络测试: 脚本会从你的服务器向全球多个节点发起下载请求,这会消耗少量流量。如果你的服务器按流量计费,请知悉。
四、详细解读测试结果
运行脚本后,你会看到类似下图的输出(以下为示例,并非真实数据):
----------------------------------------------------------------------
CPU Model : Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
CPU Cores : 2
CPU Frequency : 2799.998 MHz
Total Disk : 39.2 GB (2.5 GB Used)
Total Mem : 1.9 GB (183 MB Used)
Total Swap : 0 MB (0 MB Used)
System uptime : 0 days, 0 hour 5 min
Load average : 0.00, 0.01, 0.05
OS : Ubuntu 20.04 LTS
Arch : x86_64 (64 Bit)
Kernel : 5.4.0-42-generic
Virtualization : KVM
----------------------------------------------------------------------
I/O Speed(1st run) : 15.4 MB/s
I/O Speed(2nd run) : 17.2 MB/s
I/O Speed(3rd run) : 18.1 MB/s
Average I/O speed : 16.9 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 98.75 Mbps 95.63 Mbps 1.23 ms
Los Angeles, US 12.34 Mbps 56.78 Mbps 135.22 ms
Dallas, US 10.11 Mbps 45.67 Mbps 158.90 ms
Paris, FR 8.05 Mbps 40.12 Mbps 200.11 ms
Amsterdam, NL 98.76 Mbps 99.87 Mbps 150.10 ms
Shanghai, CN 0.98 Mbps 1.05 Mbps 300.50 ms (可能是绕路了)
Hongkong, CN 95.21 Mbps 98.45 Mbps 35.80 ms
Singapore, SG 85.44 Mbps 92.33 Mbps 55.67 ms
Tokyo, JP 88.90 Mbps 90.12 Mbps 65.43 ms
----------------------------------------------------------------------1. 系统信息部分:
CPU Model/Cores: 告诉你服务器的“大脑”是什么型号,有多少个核心。这是性能的基础。
Total Disk/Mem: 确认你购买的硬盘和内存容量是否正确,并查看当前使用情况。
Virtualization: 显示你的服务器是KVM、Xen、OpenVZ还是LXC等。通常认为KVM/Xen性能优于OpenVZ/LXC(并非绝对)。
2. 磁盘I/O部分:
这里会进行三次测试取平均值。这个数值非常关键!
数值解读:
< 50 MB/s: 通常表示I/O性能较差,可能是超售严重的VPS或共享硬盘。
50 - 150 MB/s: 属于一般水平。
150 - 500 MB/s: 表现良好,SSD硬盘通常在这个范围。
500 MB/s: 性能优异,可能是高性能NVMe SSD。
如果三次测试结果波动巨大(如第一次10MB/s,后两次100+MB/s),可能是主机商使用了缓存策略,第一次才是你的真实磁盘速度。
3. 网络速度部分:
这里测试了到全球多个节点的上传和下载速度以及延迟(Ping值)。
延迟(Latency): 单位是毫秒(ms),数值越低,表示你连接到该节点的速度越快。对于网站来说,用户延迟越低,访问体验越好。
速度(Speed): 单位是Mbps。这显示了你的服务器与外界通信的“带宽”能力。
如何看: 重点看你的目标用户所在地区的节点。例如,如果你的用户在中国,就重点看Hongkong, CN和Singapore, SG的结果。如果到中国节点的延迟异常高、速度异常慢,可能服务器线路不佳或有“绕路”情况。
五、进阶用法与类似工具
输出结果到文件: 如果你想保存测试结果,可以使用以下命令:
wget -qO- bench.sh | bash > bench_result.txt 2>&1类似工具:
SuperBench.sh / LemonBench: 功能更强大的综合性测试脚本,提供更详细的网络质量测试(如回程路由跟踪)。
UnixBench: 更侧重于CPU和系统本身的综合性能测试,测试时间非常长。
Speedtest-cli: 专门用于测试网络速度,就是命令行版的 speedtest.net。
六、结论
Bench.sh 不是一个用于进行极端压力测试或科学研究的精密工具,但它完美地实现了它的设计目标:为服务器管理员和用户提供一个快速、简单且信息量足够的基础性能概览。
无论是新手还是老鸟,在拿到一台新服务器时,运行一下 wget -qO- bench.sh | bash,已经成为了一种习惯和仪式。它帮你快速避坑,验证配置,并对服务器的性能有一个初步的、量化的认识。
下次需要评估服务器时,别忘了这个高效又方便的小工具!
- 1
- 0
-
赞助
微信
支付宝
-
分享