
先确认低速表现:访问延迟高、下载速率低还是并发连接少。准备工具:ssh 登录、root 权限、iperf3、mtr/traceroute、tcpdump、iftop/vnstat、speedtest-cli。
推荐步骤:不要盲目重启服务,先做测量并记录数据(时间、测试节点、测试命令输出),便于对比。
步骤1:测延迟与丢包:mtr -c 100 8.8.8.8 或 traceroute -n 目标IP。记录丢包率与跳数。
步骤2:测带宽:在VPS上运行:iperf3 -s,然后在外部机器运行:iperf3 -c VPS_IP -P 10 -t 60,观察TCP并发与带宽峰值。
步骤3:本机实时监控:iftop -i eth0 / nload / vnstat,查看瞬时与历史流量。
检查MTU:ip link show eth0;若发生分段导致慢,可尝试 ip link set dev eth0 mtu 1500(或根据机房建议调整)。
检查TCP参数:sysctl net.ipv4.tcp_window_scaling net.core.rmem_max net.core.wmem_max;必要时增大:sysctl -w net.core.rmem_max=16777216 ... 并写入 /etc/sysctl.conf。
查看网卡驱动与卸载限速:ethtool -i eth0。若使用virtio或vhost,确保内核支持并加载最新驱动。
检查虚拟化层是否限速(宿主机限速):联系厂商或在面板查看是否有“带宽封顶/流量控制”设置。
查看qdisc与限速规则:tc qdisc show dev eth0,若有不期望的规则:tc qdisc del dev eth0 root。
查看iptables/nftables是否有限速或连接追踪导致性能问题:iptables -L -n -v;尝试暂时停用相关规则进行对比。
通过不同国际节点测试(日本、新加坡、美国)对比,如果香港节点对内网速正常但对外慢多半是上游链路或出口拥塞,需联系机房/运营商。
检查BGP与带宽类型(共享口、端口封顶、并发流量策略),必要时要求更换物理端口或申请更高承诺带宽。
启用BBR(Linux 4.9+):echo "net.core.default_qdisc=fq" >>/etc/sysctl.conf; echo "net.ipv4.tcp_congestion_control=bbr" >>/etc/sysctl.conf; sysctl -p。
增加socket缓冲区:echo "net.core.rmem_max=16777216" >>/etc/sysctl.conf; echo "net.core.wmem_max=16777216" >>/etc/sysctl.conf; sysctl -p。
调整并发连接测试:在客户端用 iperf3 -c VPS_IP -P 20 来测试多流合并带宽,若单流慢可考虑多流或HTTP/2并发。
TCP长连接、keepalive 与 HTTP/2、TLS会影响并发性能。启用压缩、缓存静态资源并使用CDN分流国际访问。
对于下载/上传型服务,开启断点续传、分片并发下载可以提高总体吞吐。
部署netdata或Prometheus+node_exporter进行长期监控,设置告警(带宽阈值、丢包率、延迟突增)。
建议写个定时脚本每天跑iperf3到不同外部节点并保存结果,用于与机房沟通证据。
ping -c 10 8.8.8.8
mtr -c 100 目标IP
iperf3 -s (VPS端); iperf3 -c VPS_IP -P 10 -t 60(客户端)
tc qdisc show dev eth0; ethtool -i eth0; sysctl -a | grep tcp
选择说明:优先选择承诺带宽(unmetered或dedicated),确认是否有“同机房共享口”或“拥塞时限速”条款。询问是否提供端口更换与跨段测速报告作为SLA依据。
若经常需要国际带宽,考虑多机房部署+智能DNS/负载均衡或使用香港本地CDN节点。
问:单线程下载只有几兆,但并发工具能跑满,这是什么原因?
答:很可能是单流TCP窗口/拥塞算法或上游限速,解决方案:启用BBR、增大TCP窗口、使用多线程下载或CDN分流。
问:如何判断是机房出口问题而不是我方配置问题?
答:用外部可信节点(第三方VPS或家中电脑)对同目标做iperf/mtr并比对;若多端都慢则为机房/上游问题,留存测速日志并联系机房。
问:启用BBR危险吗?会影响稳定性吗?
答:BBR已较为成熟,对大多数场景能提高带宽利用率和吞吐,风险主要是内核兼容性和极少数网络设备不友好,建议先在非生产环境测试再线上启用,并做好回滚方案(恢复tcp_congestion_control为 cubic)。