1.
前提与准备
- 确认当前环境:记录 VPS 的操作系统(Linux 发行版与内核版本)、公网 IP、带宽套餐与高防策略。
- 工具准备:远程登录工具(ssh)、测试工具(ping、mtr、iperf3、curl)、监控(zabbix/prometheus 或 provider 面板)、root 权限。
- 备份配置:在开始前备份 /etc/sysctl.conf、网络配置(/etc/network/interfaces 或 netplan)、防火墙规则和服务配置文件。
2.
链路基线测试(如何测)
- Ping 测试:ping -c 20 目标IP,观察丢包与平均延迟。记录多时段数据。
- 路由追踪:mtr -rwz -c 100 目标IP,定位哪一跳出现高延迟或丢包。保存报告:mtr -r -c 100 target > mtr.txt。
- 带宽测试:在两端部署 iperf3,服务端:iperf3 -s;客户端:iperf3 -c server_ip -P 8 -t 60,分别测试 TCP 与 UDP(-u),并做双向测试(server 端用 -R)。
3.
分析测试结果与判断瓶颈
- 如果第一跳延迟高:可能是宿主机到骨干链路的物理问题,联系云商。
- 如果中间某跳丢包或抖动严重:通常是运营商链路或互联问题,记录跳点并向 provider 提交工单。
- 如果 iperf 显示带宽不足但线路延迟低:检查 VM 限速、虚拟网卡或宿主机限流(比如 tc/qdisc)。
4.
BGP/CN2 路由与供应商层面优化(必须操作)
- 选择 CN2 GIA 或 CN2 GT(依据目标用户在中国联通/电信/移动的分布),在购买前询问是否支持单独 BGP 路由或优先路径。
- 要求云商提供路由表/出口点信息,并索取 MTR 到多地(北京、上海、广州、香港)的测试结果。
- 若可能,开通多线或 Anycast:通过多出口减少跳数并分散攻击;如需自建 BGP,准备 ASN、前缀并与云商或带宽提供商对接。
5.
内核与 TCP 参数调整(实操命令)
- 在 /etc/sysctl.conf 添加(示例):
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_mtu_probing = 1
- 立即生效:sysctl -p 或逐项 sysctl -w ...。启用 BBR(内核需支持):modprobe tcp_bbr;确认:sysctl net.ipv4.tcp_congestion_control。
- 调整内核后再跑 iperf3 与 mtr,比对效果。
6.
网络接口与 MTU 优化
- 检查 MTU:ip link show eth0;若通过 GRE/VPN 或中国链路存在 PMTU 问题,尝试设置 MTU 为 1460 或 1400:ip link set dev eth0 mtu 1460。
- 关闭不必要的 offload(在 VPS 有时有效):ethtool -K eth0 tx off gro off gso off;测试前后延迟与 CPU 占用差异。
7.
防火墙与高防策略协调(避免误杀合法流量)
- 配置防火墙白名单:把常用监控与管理 IP 加入白名单,避免被高防规则误阻。
- 与高防服务并行时,设置触发阈值(pps/流量),针对应用特征(如 SYN flood)使用 SYN cookies、限速策略。
- 验证:在高峰或模拟攻击场景下测试合法连接建立成功率与延迟。
8.
应用层与服务配置优化(Nginx/Apache/游戏服务等)
- Nginx 示例优化:worker_processes auto;worker_connections 4096~16384;keepalive_timeout 30;sendfile on;tcp_nopush on;tcp_nodelay on。
- 启用缓存与压缩,减少回源请求。对游戏或实时应用,尽量使用 UDP 多路复用或专有协议并优化心跳间隔。
- 在高并发时使用连接池、限流(limit_conn、limit_req)配合业务侧限速。
9.
监控告警与持续回归测试
- 部署实时监控:采集带宽、丢包率、延迟、连接数、CPU、内存,并设置阈值告警(邮件/短信/钉钉)。
- 定期跑自动化测试脚本:cron 调度 mtr/iperf3 并上报结果,长期趋势可判断链路老化或波动。
- 每次改动都记录版本与时间,便于回滚与对比。
10.
常见故障排查流程(实战步骤)
- 步骤一:复现问题并记录时间点(客户反馈/监控告警)。
- 步骤二:使用 mtr 定位跳点,用 tcpdump -i eth0 host 客户IP 捕捉流量,确认是否丢包或被 reset。
- 步骤三:若为链路问题,提交 cloud/provider 工单并附上 mtr、ping、iperf 输出;若为本地配置问题,回滚最近改动并观察。
11.
问:CN2 与普通线路在延迟优化上最关键的区别是什么?
- 答:CN2(尤其 CN2 GIA)在中国境内直连骨干、跳数更少、抖动更低。针对延迟优化,关键在于选择正确的出口节点和与目标网络的互联点;因此对比时要用同一时间窗口做 mtr/iperf3 多点测量并优先选择 CN2 出口。
12.
问:开启 BBR 后和不开启差别如何验证?
- 答:启用前后用 iperf3 做多并发流(-P 参数)与长时测试,关注吞吐量、丢包与重传率;同时观察短连接延迟是否减少。BBR 对高延迟高丢包链路提升明显,但需内核支持且配合其它参数优化。
13.
问:高防开启后为何有时会造成合法用户连接延迟或丢包?如何避免?
- 答:因为高防设备在分析与过滤异常流量时会延迟或丢弃流量(误判)。避免方式:设置合理阈值、做好白名单、分级防护(非高峰时段可开启全清洗),并与厂商测试不同规则对真实业务的影响,逐步调优。
来源:台湾vps cn2 高防云主机带宽与延迟优化实战操作指南