VPS性能测试常用工具和脚本推荐
为什么要测试VPS
买到VPS后第一件事不是装网站,而是跑测试。原因很简单——你买到的配置不一定是标称的。特别是便宜VPS,超售是常态。跑个测试确认性能正常,不正常就去找客服或者退款。
这篇文章整理了我常用的VPS测试工具和脚本,从入门到进阶都有。
一键测试脚本
最方便的方式是用一键脚本,一条命令搞定所有基础测试。
1. bench.sh(最常用)
wget -qO- bench.sh | bash
这个脚本会测试:
- 系统信息(CPU、内存、硬盘)
- 磁盘IO速度
- 全球各节点下载速度
输出结果示例:
| 测试项 | 说明 |
|---|---|
| CPU Model | CPU型号和频率 |
| CPU Cores | CPU核心数 |
| Total Disk | 硬盘大小 |
| Total RAM | 内存大小 |
| I/O Speed | 磁盘IO平均速度 |
| Speedtest | 各地区下载上传速度 |
优点:简单快速,一两分钟出结果 缺点:IO测试比较粗糙,没有IOPS数据
2. LemonBench
wget -qO- https://raw.githubusercontent.com/LemonBench/LemonBench/main/LemonBench.sh | bash -s -- --full
LemonBench比bench.sh更全面,增加了:
- Geekbench跑分
- 更详细的IO测试
- 路由追踪(国内三网)
- 流媒体解锁测试
测试时间较长,大约需要10-20分钟。
3. YABS (Yet Another Bench Script)
curl -sL yabs.sh | bash
YABS的特点是使用fio做IO测试,数据更准确:
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 156.23 MB/s (39.0k) | 823.54 MB/s (12.8k)
Write | 156.64 MB/s (39.1k) | 828.03 MB/s (12.9k)
还会跑Geekbench 6并给出在线结果链接。
CPU测试工具
sysbench
# 安装
apt install sysbench -y
# 单核测试
sysbench cpu --cpu-max-prime=20000 --threads=1 run
# 多核测试
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
events per second越高越好。参考值:
| VPS档次 | 单核events/s |
|---|---|
| 低端 ($2-3/月) | 1500-2500 |
| 中端 ($5-6/月) | 2500-4500 |
| 高端 ($10+/月) | 4500+ |
Geekbench 6
# 下载Geekbench 6
wget https://cdn.geekbench.com/Geekbench-6.3.0-Linux.tar.gz
tar xzf Geekbench-6.3.0-Linux.tar.gz
cd Geekbench-6.3.0-Linux
./geekbench6
Geekbench会给出在线结果页面,可以跟其他设备对比。不过它比较吃内存,512MB内存的VPS可能跑不了。
磁盘IO测试
fio(最专业)
apt install fio -y
# 4K随机读测试
fio --name=randread --ioengine=libaio --iodepth=32 \
--rw=randread --bs=4k --direct=1 --size=1G \
--numjobs=1 --runtime=60 --group_reporting
# 4K随机写测试
fio --name=randwrite --ioengine=libaio --iodepth=32 \
--rw=randwrite --bs=4k --direct=1 --size=1G \
--numjobs=1 --runtime=60 --group_reporting
# 顺序读写测试
fio --name=seqread --ioengine=libaio --iodepth=32 \
--rw=read --bs=1M --direct=1 --size=1G \
--numjobs=1 --runtime=60 --group_reporting
fio的结果最准确,也是业内标准。IOPS参考值:
| 存储类型 | 4K随机读IOPS |
|---|---|
| HDD | 100-300 |
| SSD | 3,000-30,000 |
| NVMe | 30,000-200,000 |
dd(简单粗暴)
dd if=/dev/zero of=test bs=1M count=1024 oflag=dsync
dd只能测顺序写入速度,不能测IOPS。但胜在简单,一条命令就行。
网络测试工具
speedtest-cli
# 安装
pip3 install speedtest-cli
# 测试
speedtest-cli --simple
# 指定服务器
speedtest-cli --server 5530 # 指定测速服务器ID
iperf3(更准确)
# 安装
apt install iperf3 -y
# 测试到指定服务器
iperf3 -c bouygues.iperf.fr -p 5200
三网测速脚本
bash <(curl -sL https://raw.githubusercontent.com/i-abc/Speedtest/main/speedtest.sh)
这个脚本会分别测试电信、联通、移动三网的速度,对国内用户特别有用。
路由追踪
BestTrace
wget https://cdn.ipip.net/17mon/besttrace4linux.zip
unzip besttrace4linux.zip
chmod +x besttrace
./besttrace -q1 目标IP
BestTrace会显示每一跳的地理位置和运营商信息,方便判断线路走向。
nexttrace
curl nxtrace.org/nt | bash
nexttrace 目标IP
nexttrace是BestTrace的替代品,界面更好看,更新也更频繁。
综合测试建议
根据你的需求选择不同的测试组合:
| 需求 | 推荐工具 | 测试时间 |
|---|---|---|
| 快速确认性能 | bench.sh | 2分钟 |
| 详细性能报告 | YABS + LemonBench | 20-30分钟 |
| IO深度测试 | fio | 5-10分钟 |
| 国内速度测试 | 三网测速 + BestTrace | 5分钟 |
| 跑分对比 | Geekbench 6 | 10分钟 |
我平时的测试流程是:先跑bench.sh快速看一眼,有问题再用fio详细测IO,然后用三网测速看网络情况。
如果你想看各家VPS的实际跑分数据,我在5款VPS跑分对比里有详细的横向对比。
买到VPS后除了跑测试,还要记得做好安全设置,参考VPS安全初始化指南。
注意事项
- 测试时避开高峰期:网络测试建议在不同时段多测几次
- 新机器先等等:刚开通的VPS可能还在初始化,等半小时再测
- 测试结果有波动:同一台机器不同时间测出来的数据会有差异,这是正常的
- 不要过度解读:跑分只是参考,实际应用性能才是最终标准