起因
拥堵算法一堆不知道那种适合自己,并且一些测试文章,大部分采用一键bbr脚本+一键测速脚本。虽然从简洁化上方便了服务器的网络性能优化,但是这只针对独立的硬件服务器,对于常用的vps和ecs之类的服务器并不友好,因为这些主机往往收到了动态资源的分配,实际使用的场景可能跟测试的时候天差地别,达不到想要的效果
算法的分类
拥塞控制算法
cubic
linux自带默认拥塞控制算法。
BBR
谷歌开发的一种TCP拥塞控制算法,数据流量的交通管理:当公路不再塞车的时候,每辆车自然就能保持较快的车速了。
BBR2
新版的谷歌TCP拥塞控制算法,相对于BBR版本,在网速较低的用户来说,带宽可以与CUBIC相比美。网速较高的用户来说,带宽可以与BBRv1相比美。丢包率比bbr低4倍,比cubic高2倍。
BBRPLUS
网友针对原版 BBR 进行修改而来的加强版
队列算法
pfifo_fast
linux系统自带默认先进先出队列算法。
CAKE
一种同时使用 AQM 和 FQ 的整形队列规则。它结合了 COBALT,COBALT 是一种结合了 Codel 和 BLUE 的 AQM 算法,一种以赤字模式运行的整形器,以及一种用于流隔离的 DRR 变体.适用于路由器上,平衡下载和流媒体。
PIE
一种控制理论主动队列管理方案。它基于比例积分控制器,特点在于控制延迟,链路利用率高 。
FQ-PIE
一种将流队列与 PIE AQM 方案相结合的排队规则。 FQ-PIE 使用 Jenkins 哈希函数将传入的数据包分类到不同的流中,并用于为使用 qdisc 的所有流提供公平的带宽份额。每个这样的流都由 PIE 算法管理。
最终优化
选哪一种方案
简单而言,追求稳定:BBR+FQ,追求性能:BBR2+FQ_PIE
这里要注意的是,BBR可用于KVMXen架构,不兼容OpenVZ(OVZ)。支持Centos 6+ / Debian 7+ / Ubuntu 14+,BBR魔改版不支持Debian 8,内核≥5.5推荐用自带bbr。
安装优化
在安装BBR时,不卸载内核版本,则执行命令:
这里直接用自带的内核,选择11即可
如果要替换内核,可以按照提示选择,默认会从高版本内核启动,不会删除原先内核。
选择52,可以删除其他不需要内核。
BBR2的内核集成在XANMOD内核当中。
选择9会跳到另一个内核安装脚本,该脚本会直接删除旧内核,安装新内核。
安装完毕后,重启服务器