本文介绍网络上常见的Linux服务器加速软件/方案,如果你之前不了解这些方案,可以从本文获取一些基本的概念和判断。
厘清概念
什么是锐速?
一款国产的Linux加速软件,可以提升服务器TCP响应的速度,英文名为ServerSpeeder,官网为http://www.serverspeeder.com/,目前已无法访问、停止更新。
什么是BBR?
Google提供的一种TCP拥塞控制算法,已在Linux4.9以上版本的内核内置为模块。
什么是魔改BBR?
一些技术达人在Linux官方bbr模块内核基础上,通过修改参数实现的一种更激进的方案,有多个流行的版本,如南琴浪的版本(支持CentOS、Debian/Ubuntu)、vicer的BBR_POWERED(支持Ubuntu、Debian)等。
他们有什么共同点?
都是通过优化TCP拥塞控制算法实现网络加速。
还有那些选择?
- 使用以UDP为底层协议的传输协议,例如KCP,以及基于KCP开发的一系列工具,包括kcptun、狗洞(dog-tunnel)等。
FinalSpeed,双边加速的开源加速软件,分服务端、客户端,好处是支持OpenVZ,已停止维护更新。- net-speeder,暂未试验成功
经验证,狗洞可大幅提升与VPS连接的速度和稳定性,测评和使用方法见用Dog-Tunnel实现网络加速,以及端口映射。
他们有用吗?
引用《锐速&BBR究竟哪家强?》一文的小样本测试结论:
- 这三种加速对高延迟高丢包的网络有极大的改善效果
- BBR魔改确实比BBR的效果要好(魔改实际上是调整了原版BBR的配置参数)
在我目前所处的网络环境下,可以推测:
- BBR魔改的效果要比锐速稍好
- 在低延迟低丢包的情况下,使用这三种网络优化手段可能反而会导致网络性能下降,但是下降并不明显
- 当然,并不是说测了下发现低延迟低丢包就不应该上加速,因为从国内到国外始终是无法避免网络高峰期出口拥堵的情况的,国外的机子推荐能上还是上了
- 总结,推荐还是上BBR魔改
- 无论是从体感角度和便利程度上考虑,我都觉得BBR魔改要优于锐速,并且锐速并不能用于OVZ,但是BBR可以
应该用哪个?
推荐魔改BBR,它跟官方内核的BBR的区别在于算法使用的个别参数不同,偏向更激进一些,实际测试效果更好。锐速还有以下几个值得注意的地方:
- 锐速官方已于2016年初停止软件的更新、维护,不支持>4.9的内核版本(待验证)
- 国产闭源软件,需要root权限,会有安全风险
- 收费收件,免费版功能受限;网上有破解版的一键安装脚本,总归不安全以及不舒服
安装魔改BBR
以下内容来自vicer的发布页,脚本备份地址:BBR.sh BBR_POWERED.sh
使用前,请确认能够开启BBR,可参考: Debian/Ubuntu 开启 TCP BBR 拥塞算法 或者直接执行此命令进行开启。
# 注意:执行此命令会自动重启。
wget --no-check-certificate -qO 'BBR.sh' 'https://moeclub.org/attachment/LinuxShell/BBR.sh' && chmod a+x BBR.sh && bash BBR.sh -f
一键安装:
wget --no-check-certificate -qO 'BBR_POWERED.sh' 'https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh' && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh
或者指定内核版本(以v4.11.9内核版本为例):
wget --no-check-certificate -qO 'BBR_POWERED.sh' 'https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh' && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh -f v4.11.9
说明:
执行过程中会重新编译模块。
模块默认为开机自动加载。
模块名称:tcp_bbr_powered
可用 modprobe tcp_bbr_powered 命令进行加载模块。
可执行 lsmod |grep 'bbr_powered'
结果不为空,则加载模块成功
可执行 sysctl -w net.ipv4.tcp_congestion_control=bbr_powered 使用此模块。
以上只是说明,直接使用一键脚本即可。
了解更多
问:博主,请问一下,能否出一个关于如何修改魔改BBR参数的教程,我从Google及百度上都没有搜到,Yankee说过魔改BBR目前的参数不一定适合每一台VPS,还是需要根据VPS的配置来调整参数,关键参数:bbr_bw_rtts, bbr_min_rtt_win_sec, bbr_probe_rtt_mode_ms, bbr_cwnd_min_target,关键数组:bbr_pacing_gain分别代表什么意思,改如何调整Yankee并没有详细的说明,博主能出一份教程吗?
---
答:我和最开始发布魔改的那位作者都没有提出具体应该怎样改,我不知道原作者是不是我这样的情况,但是我没有解释这些是因为我所了解的信息很少,我没有能力能够解释到底应该根据什么来调试。所以我的版本(抑或是原作者的版本),都只是一种比较适中的调整。
参考资料
- 锐速&BBR究竟哪家强?
- 锐速到底有用没?
- 锐速停止注册和安装,信息来源为官网
- [lotServer] [serverSpeeder] [锐速] 安装
- 也谈TCP拥塞控制技术 与BBR的加速原理
- 南琴浪的BBR安装脚本
-- EOF --
本文最后修改于6年前 (2019-06-08)