
本次测试目标是对比多款位于香港、走 CN2 路径的 VPS,在通过 Shadowsocks(ss)隧道转发时,带宽稳定性与延迟(RTT、抖动、丢包)表现并给出排序。
要达成目标需保证测试可复现:相同客户端环境、相同测试时段、多次采样、统一工具与指标。
选择至少 3 台香港 CN2 VPS(记录运营商/机房/套餐),建议购置相同带宽档位或记录带宽差异作为参考。
本地测试机:使用有线千兆以太网连接,关闭其他占用带宽的应用,确保测试环境稳定。记录本地公网出口 IP 与运营商。
1) 安装 Python3 版本 ss 或更稳定的 ss-libev:Debian/Ubuntu 示例:sudo apt update && sudo apt install -y shadowsocks-libev
2) 编辑 /etc/shadowsocks-libev/config.json,示例配置:{"server":"0.0.0.0","server_port":8388,"password":"你的强密码","method":"aes-256-gcm","timeout":300}
3) 启动并开机自启:sudo systemctl enable shadowsocks-libev && sudo systemctl start shadowsocks-libev。确认端口已开放:sudo ss -lnpt 或 sudo netstat -lnp。
在本地使用 ShadowSocks 客户端(如 Shadowsocks-android/Windows 客户端或 ss-local 命令行)连接 VPS,确保代理可用。
验证方法:在开启代理后访问 http://ipinfo.io/ip 或通过 curl -x socks5h://127.0.0.1:1080 https://ifconfig.co 看到 VPS 源 IP。
建议工具:ping、mtr、iperf3、speedtest-cli(或官方 speedtest),以及 tcpdump(抓包验证)。
关键命令示例:
ping: ping -c 100 -i 0.2 目标IP(记录 min/avg/max/mdev)
mtr: mtr --report --report-cycles 100 目标IP(显示每跳丢包与延时分布)
iperf3(TCP 缩放测试):在 VPS 上运行 iperf3 -s;本地客户端 run:iperf3 -c VPS_IP -P 4 -t 60 -R(-R 从服务器到客户端方向)
speedtest-cli: speedtest-cli --server SERVER_ID --no-upload(可测下载/上传)
步骤 1:在不走 ss 的情况下先做基线测量(若允许),执行 ping 100 次、mtr 报告、iperf3 60s。
步骤 2:打开 ss 隧道,确保流量走代理。重复相同的 ping/mtr/iperf3 测试,记录数据。
步骤 3:每台 VPS 做至少 3 个不同时段(高峰/非高峰/夜间)的完整采样,单次测试最少 60 秒或 100 个样本。
步骤 4:使用 tcpdump(tcpdump -i eth0 port 8388 -w ss.pcap)抓包以确认是否有中间丢包或 RST。
对于延迟:使用 ping/mtr 的 median(中位数)与 95th 百分位作为关键指标;抖动用 mdev 或计算标准差表示。
对于带宽稳定性:从 iperf3 的每秒带宽样本计算平均带宽、最小带宽、带宽方差以及丢包率(TCP 重传或 UDP 丢包)。
综合评分建议:延迟占比 40%、抖动 20%、丢包 20%、带宽平均值 20%。将每项归一化(例如越低越好项取 1 - normalized),最终得分排序。
示例:VPS A ping 中位 35ms、95th 60ms;iperf3 平均 150Mbps、方差小;VPS B ping 中位 28ms 但丢包 1.5%;最终综合分数可能将 A 排在 B 前,因稳定性更重要。
注意:CN2 路径有时在中国出口策略变化会导致短期波动,务必多时段采样;同时确认是否为共享带宽导致峰值拥塞。
答:用 mtr/traceroute -n 到中国内地目标(如 ISP 的出口 IP),观察经过的 AS/路由节点名,CN2 通常会在路由中出现 “china telecom” 与 “cnc” 或带有 CN2/CTG/GIA 的节点标识。结合 whois 查询跳点 IP 的 ASN(如 AS4134 为中国电信)可进一步确认。
答:先在不走 ss 情况下测试 VPS 原生带宽;若原生正常,则检查 ss 加密方式是否造成 CPU 瓶颈(使用 top 或 htop 观察 CPU 使用),尝试切换到更快的加密(如 chacha20-ietf-poly1305);其次检查本地出口是否成为瓶颈,使用本地直接 iperf3 到其他公网服务器验证本地带宽。
答:将每次测试的关键指标(median RTT、95th RTT、丢包%、iperf 平均带宽、带宽方差)导出为 CSV,用 Excel 或 Python(pandas+matplotlib)统计归一化并绘制雷达图或条形图。按前述权重计算综合分数并排序,即为最终排行榜。