拿到一台全新服务器,最先要做的不是部署环境跑业务,而是全面检测硬件与网络状态。CPU是否独享、磁盘IO有没有被限制、回程路由是否绕路,这些信息单看商家宣传页面无法确认,测评脚本就是用来完成这类检测的工具。下面整理了各类脚本使用方法、查看重点以及常见坑点,参考大量教程和实测记录汇总而成。
bench.sh是入门首选的一键测评脚本,发展时间久,核心测试项目稳定。脚本体积小巧,不需要提前安装大量依赖,执行之后在终端输出全部核心检测数据。执行命令:
wget -qO- bench.sh | bash
系统没有wget工具,可以使用curl版本:curl -Lso- bench.sh | bash。Ubuntu、Debian系统先执行apt update && apt install -y wget curl,CentOS系列执行dnf install -y wget curl。

脚本输出分为三大部分。第一部分系统信息,包含CPU型号核心数量、内存容量、硬盘总大小、虚拟化类型KVM或者OVZ、BBR启用状态、IP所属ASN和地理位置。第二部分磁盘IO,脚本通过dd写入1GB数据,连续测试三次取平均值。这项数据参考价值很高,如果三次测试结果波动很大,说明宿主机磁盘负载不稳定,其他租户在争抢存储资源。第三部分网络测速,连接全球多个节点测试上传下载速度和延迟,测试耗时几分钟,需要依次连接各个节点。
bench.sh存在明显短板,无法输出CPU跑分,不能获取Geekbench测试分数。国内测速节点覆盖有限,各省网络测速数据精细度比不上专门面向国内线路的测评脚本。
想要CPU跑分和更全面检测,选用LemonBench。LemonBench功能覆盖CPU基准跑分、磁盘FIO测试、流媒体解锁检测、国内三网测速、路由追踪。快速测试命令:
wget -qO- https://raw.githubusercontent.com/LemonBench/LemonBench/main/LemonBench.sh | bash -s -- --fast
curl版本:curl -fsL https://raw.githubusercontent.com/LemonBench/LemonBench/main/LemonBench.sh | bash -s -- --fast。
快速模式--fast运行速度快,磁盘IO测试次数少,路由追踪节点数量有限。完整模式--full检测更加详尽,磁盘读写多轮测试,国内三网各测试三个节点,路由追踪覆盖联通AS4837、移动AS9808、电信AS4134以及CN2 AS4812主流线路。完整模式耗时更长,会大量占用服务器CPU与网络资源。
有一点需要提前留意。LemonBench高强度持续测试会长时间打满CPU和网络,部分限制严格的VPS,执行完整测试会被服务商判定资源滥用。如果是低价年付套餐,跑LemonBench之前查看服务条款,避免因为测评直接关停机器。
看懂测试结果,比执行脚本本身更加关键。
磁盘IO数据最容易发现异常。bench.sh dd测试得到顺序写入速度,优质NVMe硬盘读写可以超过1GB/s,SATA SSD大约300至500MB/s,如果测试结果只有几十MB/s,大概率磁盘超售或者使用机械硬盘。LemonBench FIO测试颗粒度更细,4K随机读写模拟数据库读写场景,128K顺序读写对应大文件传输。4K随机读写达不到10k IOPS,运行WordPress或者MySQL会明显卡顿。
网络测速不要只关注下载速度数值。上传速度和延迟同等重要。服务器下载测速800Mbps,但上传只有50Mbps,做数据备份、向服务器上传文件的时候体验很差。延迟数据参考测试节点和真实业务用户距离,脚本连接全球节点,如果业务用户都在国内,海外节点延迟参考意义不大。
路由追踪是判断线路质量核心手段。bench.sh和LemonBench都会输出traceroute结果,重点核查回程路由是否绕路。一台标注日本机房的机器,回程流量绕道美国西海岸再返回国内,即便延迟数字好看,实际业务访问依旧卡顿。重点查看流量进入国内骨干网之后第一个AS编号,59.43开头代表电信CN2 GIA线路,202.97开头属于普通163骨干网。两类线路晚间高峰性能差距明显。
不想在服务器部署脚本,在线工具可以做简易检测。ping.pe输入服务器IP,可从全球多节点同时发起ping,查看国内三网与海外节点延迟、丢包率。itdog全国ping测试覆盖国内各省,查看不同运营商访问延迟分布。在线工具优势是无需在服务器执行任何程序,网页直接操作,适合快速评估基础网络质量。
测速还有命令行工具speedtest-cli,apt install speedtest-cli完成安装,speedtest-cli --list查看可用节点列表,speedtest-cli --server 节点编号指定节点测速。选择阿里云、腾讯云国内节点ID测试,结果更贴近国内用户真实访问体验。
单一脚本无法做到完美覆盖。bench.sh输出系统信息与基础网络指标,缺少CPU跑分;LemonBench在低配机器上有触发滥用处罚风险;在线工具不能获取CPU、磁盘详细指标。稳妥方案是同时运行两到三个工具交叉验证。bench.sh获取系统信息和基础网络,LemonBench补充CPU跑分、FIO详细磁盘测试,ping.pe在线核验三网延迟丢包。三套数据大体吻合,才能完整摸清服务器真实状态。
还有一个细节不能忽略,测试时间影响结果。凌晨三点和晚间九点跑出来的测速数据差距可能达到一倍。条件允许的情况下,白天和晚高峰分别执行一次脚本对比结果。晚高峰磁盘IO、网络速度大幅下降,说明宿主机高峰期资源争抢严重,这类机器承载正式业务要慎重考虑。