在尝试各种SS优化之后,我发现唯一对我服务器有用的是Google的BBR——一个TCP拥塞控制算法。
具体的一些评价,可以参考知乎的问题《Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?》
Ubuntu下的简单部署:
- 确认一下你的内核版本
uname -r
如果返回的是>=4.9的版本,那么直接跳到第4步
- 下载内核安装包。最新版的内核可以去http://kernel.ubuntu.com/~kernel-ppa/mainline/ 查看,这边下载的是4.13版
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers-4.13.0-041300_4.13.0-041300.201709031731_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-headers-4.13.0-041300-generic_4.13.0-041300.201709031731_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/linux-image-4.13.0-041300-generic_4.13.0-041300.201709031731_amd64.deb
- 安装新的内核(确保你有sudo权限)
dpkg -i linux-headers-*.deb dpkg -i linux-image-*.deb
然后删除系统里原来的内核,首先确认一下删除的版本,运行这个命令找到旧版本的内核
dpkg -l | grep linux-image
删掉
apt-get remove <旧内核映像文件> --purge
别忘了更新grub,不然引导不来了
update-grub reboot #重启
- 配置sysctl启用BBR
编辑/etc/sysctl.conf , 在文件末尾加上下面两行net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
然后键入sysctl -p 令配置生效
- https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78
- https://www.zxavier.com/shadowsocks%E4%BC%98%E5%8C%96.html