注:文章来自于我的博客shawnluo.com,欢迎访问~!
背景:
使用github学生包,获得了aws的75刀额度,开启了ec2实例,搭建好了s.s.r。但是速度比较慢,特别是晚高峰时段。
故而为其开启bbr加速以获得更快的速度
ps:BBR是是由google开发的一种TCP拥堵控制算法,Linux Kernel 4.10 以上内核已经默认开启了,所以我们只要将aws实例的内核升级到4.10+即可
方法:
1、查看当前可使用的控制算法:
sysctl net.ipv4.tcp_available_congestion_control
返回信息:
net.ipv4.tcp_available_congestion_control = reno cubic
说明当前可使用的控制算法仅有reno、cubic两种,而没有bbr
2、查看当前使用的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
返回信息:
net.ipv4.tcp_congestion_control = cubic
说明当前使用的是cubic算法,我们需要做的就是将其更改为bbr
3、为实例(我的是ubuntu18.04)安装4.10+新内核:
sudo apt-get install linux-generic-hwe-16.04
后面会有一个安装界面,选择第一个(忘记截图了,好像是package maintainer什么的)
4、开启bbr:
sudo modprobe tcp_bbr
echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf
5、此时再查看系统可用控制算法:
sysctl net.ipv4.tcp_available_congestion_control
返回信息:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
说明bbr算法已可用
6、开启bbr算法:
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
7、此时再检查系统的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
返回信息:
net.ipv4.tcp_congestion_control = bbr
代表bbr已成功开启
完成。
注:文章来自于我的博客shawnluo.com,欢迎访问~!
閱讀更多 Shawnl111 的文章