1.
问题概述与典型表现
- 下载速度明显低于带宽上限(例如 100Mbps 链路但实际只有 6-10MB/s 以下)。
- 高延迟与抖动,ping 波动大(常见 10ms-200ms 波动)。
- 局部用户受影响(台湾/大陆/日本访问差异明显)。
- 传输中断或大量重传(tcp retransmits 增多)。
- 业务表现为并发慢、文件下载断开或速率不稳。
- 初步判断可能是路由、链路拥塞、TCP 参数或服务器限速。
2.
初步排查步骤(工具与命令)
- ping 检查丢包与基本延迟:ping -c 20 目标IP。
- traceroute / mtr 定位中间跳点延迟与丢包:mtr -rwzbc 100 目标。
- 带宽测试:iperf3 -s 在服务器端,iperf3 -c 服务器IP 测试 TCP/UDP 吞吐。
- 抓包分析:tcpdump -i eth0 port 80 或 wireshark 分析 TCP 三次握手与重传。
- 查看网卡/驱动:ethtool eth0 与 dmesg、/proc/net/dev 检查错误计数。
- 检查防火墙/限速规则:iptables -L -nv 或 nft list ruleset。
3.
路由与带宽测试数据示例(数据演示)
- 案例说明:台湾机房(电信机房)到不同城市的 iperf3 测试结果如下。
- 测试环境:VPS 配置 4 vCPU / 8GB 内存 / 带宽 100Mbps。iperf3 以 60 秒平均测得。
- 结论示例:对比可发现到上海/台北与东京差异明显,路由或 ISP 跳数是瓶颈。
- 建议:若跨境到大陆或美国速度差,优先联系带宽提供商和查看 BGP 路由。
- 下面表格展示示例数据(单位:Mbps 和 RTT ms):
| 目标 | iperf3 吞吐 | 平均 RTT |
| 台北(同地区) | 85 Mbps | 12 ms |
| 东京 | 72 Mbps | 28 ms |
| 上海 | 34 Mbps | 60 ms |
4.
服务器内核与网络参数优化示例
- 打开 BBR 拥塞控制:echo "tcp_bbr" > /etc/modules-load.d/bbr.conf,sysctl -w net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr。
- 推荐 sysctl 示例(写入 /etc/sysctl.d/99-custom.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"。
- MTU 与分片:检查 path MTU,必要时调整 MTU 为 1500 或 1400。
- NIC 参数调优:ethtool -K eth0 gro off gso off tso off(在某些驱动问题场景下可减少重传)。
- IRQ 亲和性与队列:将高流量队列绑定到独占 CPU,减少软中断延迟。
5.
应用层与架构优化(CDN、缓存、并发控制)
- 启用 CDN 缓存静态资源(图片、JS/CSS、下载文件),可显著减少源站带宽占用。
- 使用 Range 请求分片下载或多线程下载以提升单个会话吞吐。
- Web 服务器(nginx)优化:worker_processes auto,worker_connections 4096,开启 sendfile、tcp_nopush、tcp_nodelay。
- HTTP/2 或 QUIC(HTTP/3)可降低并发连接延迟并更好利用带宽。
- 缓存策略与压缩:gzip/ Brotli,合理设置 Cache-Control 与 ETag 减少重复传输。
6.
DDoS 与流量异常防护建议
- 部署云端清洗(Cloudflare、Akamai、ISP 清洗)缓解大流量攻击。
- 在边界做速率限制与连接数限制(nginx limit_conn, limit_req)。
- 使用 TCP SYN cookies 与 iptables 限制半开连接。
- 对异常流量做流量白名单/黑名单与 GEO 限制。
- 监控告警:流量阈值、连接数、CPU/中断占用,及时触发应急策略。
7.
真实案例:某 SaaS 公司优化前后对比
- 背景:客户台湾机房 VPS 4vCPU/8GB/100Mbps,用户反馈跨境下载慢且不稳定。
- 排查:mtr 指向中国路由在第 6 跳出现 30% 丢包,iperf3 到上海仅 32Mbps。
- 优化动作:与带宽商更换 BGP 路径,启用 BBR,调整 sysctl 并在 nginx 开启 gzip 与 HTTP/2。
- 结果:同测 iperf3 到上海提升到 78Mbps,平均 RTT 从 60ms 降到 40ms,用户下载速度恢复接近链路上限。
- 总结:结合路由层与内核/应用层双向优化,并借助 CDN/清洗服务可快速恢复并稳定下载性能。
来源:台湾服务器下载速度慢 排查步骤与带宽优化技巧