1. 在开始前准备:a) 列出要测的10家美国VPS(示例:DigitalOcean、Vultr、Linode、AWS Lightsail/EC2、Google Cloud、Azure、OVH US、UpCloud、Kamatera、Scaleway)。b) 在每家购买相同配置(CPU/内存/带宽)或相近的最小套餐。c) 准备本地测站(家用或云中同一区域)作为客户端。
2. 在每台VPS上执行:a) 更新系统:sudo apt update && sudo apt -y upgrade。b) 安装工具:sudo apt -y install iperf3 mtr traceroute curl wget openssh-server。c) 开启iperf3服务端:nohup iperf3 -s &(记录端口默认5201)。
3. a) Ping:ping -c 10 VPS_IP,记录min/avg/max。b) MTR(更精细):mtr --report VPS_IP -c 100,查看丢包与每跳延迟。c) Traceroute(排查路由):traceroute VPS_IP。每项保存为文本:ping.txt、mtr.txt、traceroute.txt。
4. a) iperf3:从客户端运行 iperf3 -c VPS_IP -P 4 -t 30 -R (-R为反向测试,测试服务器到客户端的带宽)。b) 多次运行(不同时间窗口)并取中位数记录。c) HTTP下载测试:curl -o /dev/null -s -w "%{speed_download}\n" http://VPS_IP/100MBfile
5. a) SCP上传/下载:scp -C testfile user@VPS_IP:/tmp/,记录时间计算吞吐。b) 并发连接:使用wrk(或ab)对Web服务做并发请求测试:wrk -t2 -c50 -d30s http://VPS_IP/。c) 记录CPU/网络饱和点(top、iftop)。
6. a) 写一个bash循环,对10台VPS每天采样3次(高峰/低谷/平均):示例:for ip in $(cat vps_list); do ping -c10 $ip > ${ip}_ping.txt; iperf3 -c $ip -t20 -P4 > ${ip}_iperf.txt; done。b) 保存到CSV以便后续分析(延迟均值、丢包率、带宽中位数)。
7. a) 建议权重:延迟(40%)、下载带宽(30%)、丢包率(20%)、价格/GB(10%)。b) 采样后对每项做0-100分归一化,再按权重合成总分,得出最终排名。
8. a) 注意同一供应商不同机房差异(例如纽约vs洛杉矶)。b) 如果某家延迟低但带宽小,按权重会降低总分;选择时考虑业务需求(实时应用优先延迟,文件传输优先带宽)。
9. a) 如果ipеrf3带宽低,检查防火墙(ufw/iptables)和云提供商QoS。b) 用tcpdump抓包确认TCP窗口(sudo tcpdump -i eth0 -c 200 host CLIENT_IP)。c) 检查是否被宿主机限制:联系厂商或切换实例类型复测。
10. 问:如何保证实测公平性?
10. 答:答:统一实例配置、相同测试脚本、在同一天不同时间多次采样、使用同一客户端位置,并记录价格与机房位置,最后用归一化+加权方法评分。
11. 问:使用iperf3时常见误区有哪些?
11. 答:答:不要只跑一次;需测试双向(-R)和多并发流(-P);防火墙/端口限制会影响结果;先确认CPU不飙满导致假性瓶颈。
12. 问:我想复现全文榜单,需要哪些文件?
12. 答:答:需要 vps_list(IP/机房/价格)、ping/mtr/iperf3 原始输出文件、汇总脚本(将原始结果转为CSV)、归一化与加权评分脚本。按文中步骤运行即可复现排名。