新购的OpenVZ架构的VPS,价格不高,但是发现网速最快只达到了1Mbps,远远达不到官方给出的100Mbps的速度。了解到是TCP的拥塞控制算法在搞怪,所以希望安装一个加速器来提高带宽的利用率。
因为国产的锐速在OpenVZ架构上无法使用,所以打算采用BBR拥塞控制算法。
BBR是Google提出的一种新的拥塞控制算法,具体原理在这里不多解释,需要详细了解可以点击这里。
这里的小飞机和BBR都采用第三方脚本安装,不浪费精力。
安装小飞机
下载安装脚本
shell
1 | wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh |
授予脚本执行权限
shell
1 | chmod +x shadowsocks.sh |
运行安装脚本,并将安装日志写入到shadowsocks.log中
shell
1 | ./shadowsocks.sh 2>&1 | tee shadowsocks.log |
运行起来后,依次输入开放代理的端口、连接密码、加密方式,与客户端的参数一致。
最后回车安装,非常顺利。
安装BBR
下载rinetd服务
shell
1 | wget -O ~/rinetd https://github.com/linhua55/lkl_study/releases/download/v1.2/rinetd_bbr_powered |
授予执行权限
shell
1 | chmod +x rinetd |
使用vi编辑器编辑配置文件rinetd.conf
shell
1 | vi rinetd.conf |
在配置文件中写入以下内容,其中的8888改成之前小飞机设置的端口号,作为加速端口
Code
1 | # bindadress bindport connectaddress connectport |
设置开机启动和网络
首先执行
shell
1 | ip addr |
查看网络
输出大致为
shell
1 | 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 |
那么我的网络为venet0:0
使用vi编辑器编辑rinetd.service
shell
1 | vi /etc/systemd/system/rinetd.service |
写入以下内容,注意将/root替换成刚才操作的目录(如果刚才远程连接上之后没有切换目录,那就不用管),venet0:0替换为你的网络
shell
1 | [Unit] |
最后,跑起来~
shell
1 | systemctl enable rinetd.service && systemctl start rinetd.service |
最后实测在Youtube上可以流畅观看720P视频,1080P视频一般也可以,带宽最高能飙升到1MBps!
大功告成!
KVM架构下的BBR安装
如果服务器是BBR架构的呢?
那就更简单了~
shell
1 | wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh |
这里使用另一个脚本来安装就好。
安装完毕后,重启。输入如下指令查看内核版本:
shell
1 | uname -r |
如果在4.9以上,就是OK了。
再看看拥塞控制算法:
Code
1 | sysctl net.ipv4.tcp_congestion_control |
如果其中有bbr,比如这样
shell
1 | net.ipv4.tcp_available_congestion_control = reno cubic bbr |
安装完毕,撒花~