1. 概览:先理解是什么“卡”
- 子项:区分CPU、内存、磁盘、网络四大类瓶颈。
- 操作:先登录 VPS,运行 top/htop、free -m、iostat -x 1 3、ss -s 查看整体负载;若某项长期接近100%即为主要方向。
2. 网络初筛:延迟与丢包
- 子项:延迟高或丢包是 CN2 路由问题常见表现。
- 操作步骤:1) ping -c 20 目标IP(观察丢包与平均RTT);2) mtr -rw 目标IP(交叉查看每跳丢包和时延);3) traceroute -T -p 80 目标IP(检查 TCP 路由)。
3. 带宽测量:单连接与多连接
- 子项:判断是链路速率还是并发能力限制。
- 操作步骤:1) 在 VPS 上安装 iperf3;2) 在海外测量端运行 iperf3 -s;3) VPS 作为客户端运行 iperf3 -c
-P 1 -t 30(单流)与 -P 8(并发多流);对比结果若单流远低于链路上限且多流接近说明 TCP 窗口/丢包问题。
4. 路由与 MTU 检查
- 子项:路径 MTU 或 ISP 中间设备丢弃大包会影响吞吐。
- 操作步骤:1) ping -M do -s 1472 测试 1500 MTU(若失败逐步减小size);2) 查看 ip link show、ethtool -k eth0;3) 若存在 PMTUD 问题,可在服务端/路由器做 MSS clamp(例如 pfsense 或 nginx upstream 设置 tcp_mss)。
5. TCP 参数与拥塞控制
- 子项:Linux 默认栈可能未调优。
- 实操命令:编辑 /etc/sysctl.conf,添加并应用:net.core.rmem_max=33554432 net.core.wmem_max=33554432 net.ipv4.tcp_rmem="4096 87380 33554432" net.ipv4.tcp_wmem="4096 65536 33554432" net.ipv4.tcp_congestion_control=bbr;执行 sysctl -p,然后使用 lsmod | grep bbr 或 sysctl net.ipv4.tcp_available_congestion_control 验证 bbr 是否启用。
6. 抓包定位:tcpdump 与 Wireshark 分析
- 子项:确认重传、RST、SYN/ACK 等问题。
- 操作步骤:1) tcpdump -i eth0 -w /tmp/cap.pcap host and port -s 0;2) 下载 cap 到本地用 Wireshark 观察 TCP Retransmissions、Dup ACKs、Out-of-order;3) 根据结果判断是丢包(链路)还是服务器延迟(应用处理慢)。
7. 磁盘/IO 引起的延迟
- 子项:大量 IO 等待也会让 TCP 响应慢。
- 操作步骤:1) 使用 iostat -x 1 5 和 vmstat 1 5 观察 await、svctm、%iowait;2) 对比应用日志,若 IO 高,使用 fio 做随机/顺序读写测试(fio --name=test --rw=randread --bs=4k --size=1G --numjobs=4 --runtime=60);3) 若 VPS 使用共享磁盘,联系供应商或升级到独占盘。
8. 应用层优化与替代方案
- 子项:减少握手与重连、优化 TLS、使用压缩等。
- 实操建议:1) 开启 keepalive(nginx/proxy_read_timeout、keepalive_timeout);2) 启用 HTTP/2 或 QUIC(若支持)以减少 RTT 影响;3) 缓存静态资源到 CDN;4) 对高丢包链路考虑基于 UDP 的协议或多路径传输。
9. 与运营商沟通的要点
- 子项:提供证据以便快速定位。
- 操作步骤:准备 mtr/traceroute/iperf3 报告(包含时间戳、目标 IP、结果),向 VPS 提供商或上游 CN2 运营商提交工单,要求查看 BGP 路由、丢包阈值与是否存在链路抖动或设备过载。
10. 常见问答(1/3) — 问:如何判断是 VPS 端还是网络链路导致的慢?
- 子项:判断方法。
- 操作:先在 VPS 本地做本地环回/本地到本机服务的延迟测试(curl localhost,查看响应时间)以及使用 top/iostat 检查 CPU/IO。如果本地快而外网慢,优先怀疑网络;反之则是 VPS 内部资源问题。
11. 常见问答(1/3) — 答:如何快速定位是丢包还是延迟?
- 子项:工具与结果解读。
- 操作:用 mtr 看每跳丢包与延迟趋势,若跨多跳都有丢包说明链路问题;若只有到某跳延迟陡增但后续稳定,可能是中间路由对 ICMP 限速但传输实际正常,需结合 iperf3 测速确认吞吐。
12. 常见问答(2/3) — 问:启用 BBR 会马上提升性能吗?
- 子项:期望管理。
- 操作:启用 BBR 通常能改善高带宽-高延迟路径,但不是万灵药;先在低风险环境(测试实例)开启并用 iperf3 多流和单流对比,确认没有异常后再推广到生产。
13. 常见问答(2/3) — 答:如果 CN2 路由本身不稳定怎么办?
- 子项:替代方案。
- 操作:联系供应商申请切换 POP 或线路;短期可用多线路负载均衡、异地冗余或使用商业加速(如 Cloudflare Spectrum、专线/SD-WAN)绕过不稳定路径。
14. 常见问答(3/3) — 问:若对方在中国大陆,有哪些针对性优化?
- 子项:针对中国网络环境的建议。
- 操作:优先使用 CN2 GIA/直连线路、在中国侧部署 CDN/缓存节点、调整 TCP 参数(增大窗口、启用 BBR)、并向运营商提供详尽的 mtr/iperf3 报告要求人工排查。
15. 常见问答(3/3) — 答:总结与行动清单
- 子项:落地步骤。
- 操作清单:1) 初筛(top/mtr/iperf3);2) 抓包定位(tcpdump);3) 系统调优(sysctl、BBR、MTU);4) 若链路问题联系供应商并提交证据;5) 应用端做连接/缓存/协议优化。