一、项目速览

入门 · 1 分钟版

这个名为 script 的仓库,是作者 Oldking 精心打包的一套 Linux 网络诊断“瑞士军刀”。它并非一个庞大的软件,而是三个高度聚焦、开箱即用的 Shell 脚本集合。其核心目标非常明确:帮助你快速、直观地评估一台服务器(尤其是海外服务器)到中国大陆的网络连接质量。

如果你是个人站长、在挑选云服务器(VPS),或者需要为业务寻找低延迟的海外节点,这三个脚本可以帮你省去大量手动测试和数据整理的时间。它们将复杂的网络探测命令封装成一行可执行的指令,直接输出对中文开发者最有参考价值的结果。

一句话判断:这不是一个需要深度学习的框架,而是一把“即插即用”的尺子,专门用来测量服务器到中国的网络性能。

二、核心功能与架构

进阶 · 推荐细读

这三个脚本虽然独立,但解决的问题层层递进,构成了一套完整的网络评估流程。理解它们各自的角色,能帮你更高效地使用这个工具集。

{网络诊断工具集概念图}

SuperTrace.sh - 路由侦探
它解决的问题是“我的数据包经过了哪些跳(Hop)才到达中国?”。这个脚本会自动执行 traceroute,并智能解析沿途的节点,最终以清晰的表格形式呈现整条路径,重点标注出可能导致延迟或丢包的运营商和位置。对于排查“绕路”问题(比如去美国的流量先绕到欧洲),它是最直观的工具。

SuperSpeed.sh - 带宽质检员
它解决的问题是“这台服务器到中国的实际下载速度是多少?”。脚本会从中国境内的测速节点下载文件,真实测量你的服务器作为“上传方”的带宽表现。它选择的测试点对评估视频、文件分发等业务场景非常有参考价值,结果直接以 MB/s 为单位显示。

SuperBench.sh - 综合体检仪
它解决的是一个更全面的问题:“这台服务器的磁盘 I/O、网络下载速度和到中国的网络状态整体如何?”。这个脚本是一个“三合一”工具,在一次运行中会同时测试硬盘读写速度、国内外下载速度,并执行网络路由追踪。如果你需要快速给服务器做一份“综合体检报告”,这是最高效的选择。

作者视角补充:如果你只是临时测试一下带宽,用 SuperSpeed.sh 最快。但如果你在考虑购买一台新 VPS,我强烈建议用 SuperBench.sh 跑一遍,它在几分钟内给你最关键的几项指标,决策效率很高。

三、动手实践

入门

在开始之前,你需要一台能联网的 Linux 服务器或本地虚拟机(CentOS/Ubuntu/Debian 等常见发行版均可),并具备 rootsudo 权限。下面,我们以最综合的 SuperBench.sh 为例,体验一键测试的流程。

环境准备与运行
这些脚本的设计哲学就是“零安装”。你无需克隆仓库或安装依赖,只需一行命令,它会自动下载并执行。

# 使用官方推荐的源运行 SuperBench
wget -qO- git.io/superbench.sh | bash

如果你的服务器访问 git.io 速度较慢,可以使用备选地址:

wget -qO- oldking.net/superbench.sh | bash

最小可运行示例与结果解读
执行上述命令后,脚本会开始自动测试。一个典型的输出会先显示系统信息(CPU、内存、磁盘),然后依次进行磁盘 I/O 测试、国内外下载速度测试和路由追踪。几分钟后,你会得到一份结构化的报告。关注结果中的 Network 部分,那里有到国内三大运营商(电信、联通、移动)的下载速度和丢包率,这是评估中国方向网络质量的核心数据。

常见踩坑与应对
1. 权限问题:如果遇到 Permission denied 错误,请确保使用 sudo 运行命令,或者切换至 root 用户。脚本执行网络测试和读取系统信息需要相应权限。
2. 执行时间较长:整个测试过程,特别是路由追踪部分,可能需要 5-10 分钟。如果中途中断,可以重新运行命令。不要因为看到部分输出停顿就认为脚本卡死。

四、进阶玩法

深入 · 老手可选

虽然脚本设计为一键运行,但通过传入参数,你可以定制测试行为,获得更精准的结果。

定制化测试:指定 SuperBench 的并发数
SuperBench.sh 在进行下载速度测试时,默认会使用多线程来尽量跑满带宽。你可以通过 -s 参数手动指定线程数,这在想排查特定线程下的网络性能时非常有用。

# 指定使用 10 个并发线程进行下载测试
wget -qO- git.io/superbench.sh | bash -s -- -s 10

这里 -- 用于分隔 bash 和传递给脚本的参数。将 -s 10 作为参数传递,脚本就会使用 10 个线程同时下载,你可以对比不同线程数下的速度变化,判断网络的瓶颈是带宽还是连接数。

实用技巧:将结果保存到文件
由于输出信息较多,直接查看终端可能不方便。你可以利用 Shell 的重定向功能,将完整结果保存到文件中以便后续分析或分享。

# 将 SuperBench 的完整测试结果保存到当前目录下的 result.txt 文件
wget -qO- git.io/superbench.sh | bash | tee result.txt

tee 命令的作用是既在屏幕上显示输出,同时将其写入文件。这样你就拥有了一份可随时查阅的测试报告。

五、判断与建议

进阶 · 推荐细读

应该选它的场景:
* 购买决策期:在挑选面向中国用户的海外 VPS 时,用它快速验证商家的网络宣传是否属实。
* 运维监控期:作为周期性脚本,监控服务器到关键用户群的网络质量变化。
* 故障排查时:当用户反馈访问慢时,快速获取服务器端的路由和带宽第一手数据。

不该选它的场景:
* 需要深度协议分析时:如果你需要分析 TCP 拥塞窗口、SSL 握手等底层细节,这个脚本提供的信息过于宏观,需要借助更专业的工具如 iperf3wireshark
* 追求跨平台支持时:它专门为 Linux 设计,无法在 Windows 或 macOS 上直接运行。

最终建议:对于绝大多数需要快速、直观评估 Linux 服务器中国方向网络性能的开发者而言,这个脚本工具集是首选。它把专业测试平民化了,特别适合集成到你的服务器评测流程中。记住,先跑 SuperBench.sh 做初筛,再用 SuperTrace.shSuperSpeed.sh 对可疑指标进行深度复查,这是一个高效的组合拳。

项目信息

项目
仓库 oooldking/script
语言 Shell
Star 1,517
Fork 1,095
主页

参考链接