不少人租用海外VPS之后会遇到一个问题,系统正常运行,但国内访问达不到预期,延迟偏高、丢包频繁,上传下载都卡顿。这种情况,直接升级带宽套餐不一定划算。Linux社区有不少免费工具、优化方案改善VPS网络表现,只是资料分散,需要梳理清楚。
优先尝试TCP BBR,Google开源的拥塞控制算法,已经内置在Linux内核。传统TCP拥塞检测机制,一旦检测丢包就大幅降速,跨国长距离、高丢包链路下传输速度会被严重限制。BBR通过动态估算链路最大带宽和最小往返时间,不依靠丢包判断拥堵,链路存在丢包依旧可以跑满带宽。Debian 9以上、Ubuntu 18.04以上版本内核自带BBR,无需编译安装,几条命令即可开启。执行 sysctl net.ipv4.tcp_congestion_control 查看当前拥塞算法,如果返回cubic或者reno,代表BBR未启用。编辑 /etc/sysctl.conf 添加两行配置,队列算法设为fq,拥塞控制指定bbr,运行 sysctl -p 加载配置。整套操作五分钟完成,免费,重启服务器配置不会失效。

原生BBR在多数线路效果够用,如果VPS链路丢包情况严重,可以尝试社区魔改版本。BBR Plus是知名分支,调整重传机制和队列管理逻辑,恶劣链路下吞吐量相比原版BBR更高。但BBR Plus需要替换定制内核,稳定性、兼容性弱于原版。另一个老牌方案锐速,也叫Lotserver,优化TCP协议栈重传与ACK策略,适合跨国高延迟链路。锐速免费版本限制带宽20Mbps,最多3000条加速连接,个人博客、轻量应用可以满足。锐速只支持KVM架构VPS,OpenVZ无法运行,购买VPS前确认虚拟化架构。
不想改动内核参数,CDN是简单的备选方案。Cloudflare免费套餐使用人群广泛,域名解析托管之后,静态资源经由全球节点分发,源站只处理动态请求,降低源站带宽压力。缺点是国内访问Cloudflare免费节点晚高峰速度不稳定。腾讯云EdgeOne同样有免费套餐,包含国内节点,有用户实测新加坡VPS部署博客接入之后,国内访问耗时从1.2秒下降至0.3秒。EdgeOne免费套餐有流量上限,仔细阅读条款。
如果需要加速代理流量,有专门工具实现。Free-Proxy项目在海外VPS运行安装脚本,自动拉取公开出口节点,连通性、延迟检测筛选可用线路,提供SOCKS5和HTTP代理,节点失效自动切换。适合已有VPS,把它当成代理网关使用。部署简单,一行脚本完成安装,但VPS需要root权限,支持TUN,OpenVZ架构依旧无法使用。
需要提前明确,免费加速方案优化的是网络传输效率,不会凭空增加带宽上限。锐速官方文档明确说明,服务器带宽3Mbps,安装锐速之后速度依旧无法突破3Mbps。VPS本身带宽只有几兆,不要优先部署加速工具,先确认带宽规格是否满足业务。
还有内核兼容坑。BBR要求内核版本4.9以上,锐速支持内核区间2.6到4.x,两套方案内核要求冲突,同一台VPS不能同时部署BBR和锐速,只能二选一。更换内核前备份重要数据,修改内核参数或者替换内核,存在系统无法启动风险。VPS可以重装系统,但丢失的数据无法找回。优化顺序建议先启用原版BBR,五分钟就能看到效果;效果不理想再尝试BBR Plus或者锐速;CDN作为静态资源加速补充方案叠加使用。