全文转载自南琴浪 I 你们呐,naive ! 南琴梨の钦定丈夫
简介
- 魔改 BBR 一键安装脚本
tcp_nanqinlang.sh
适用于 Debian 7+ / CentOS 6/7 - BBR 当然是家喻户晓了,是出自谷歌员工之手的应用于 Linux 内核中的拥塞控制技术。关于拥塞控制技术,可以参看我的另一篇帖子 也谈TCP拥塞控制技术 与BBR的加速原理
- 为了加速国内与目标服务器间的网络,让 BBR 发挥出更大(暴力)的实力,魔改就此诞生。
一键脚本
- 需要使用此脚本,只需运行以下(请注意适用环境)
# Debian 7+
wget https://raw.githubusercontent.com/nanqinlang-tcp/tcp_nanqinlang/master/Debian/tcp_nanqinlang_3.0.sh &&
bash tcp_nanqinlang_3.0.sh
# CentOS 6/7
wget https://raw.githubusercontent.com/nanqinlang-tcp/tcp_nanqinlang/master/CentOS/tcp_nanqinlang_1.1.sh &&
bash tcp_nanqinlang_1.1.sh
使用简介
- 出现四个选项供以选择
安装内核
- 用于安装内核
- 确认内核更换完成后,重启你的 vps
重启开机后,再次运行此脚本,选择第二项: 安装并开启算法
安装并开启算法
- 用于编译并启用魔改 BBR 算法
- 运行这个命令后,会提示选择魔改方案:温和模式(gentle mode) 或 暴力模式(violent mode)
温和模式采用较小的数值,更注重 TCP 的公平友好;暴力模式则采用较大数值,增强竞争性。
检查运行状态
- 用于检查 tcp_nanqinlang 是否已被 加载 (installed) 和 启用 (running)
卸载
- 不会删除已安装的内核,仅 移除 sysctl.conf 的 tcp_nanqinlang 设置项
然后重启机器后,算法才会停止运行
动作明细
- 脚本的实质是指令和判断的集合
这部分,来具体说明下,这篇帖子所述脚本,在被运行后,在系统中进行了哪些操作:
(- 还有这种操作?)
(- 没错,这是最新操作。)
Debian 7+
Debian 7+ 的脚本包括如下动作:
- 安装内核
下载内核安装包至 /home/tcp_nanqinlang
系统中只会留下新安装的系统,之前装有的内核都会被卸载
安装的内核版本由你指定,且不应低于 4.9.3
指定要安装的内核版本时,若输入为空,则会安装内核 v4.10.10。若不确定应输入哪个版本号,直接回车即可
运行此命令后,系统中只会留下你指定版本的内核,其它内核版本均将被移除
- 此命令完成后,系统中会装有 linux-image-版本号-lowlatency linux-headers-版本号-all linux-headers-版本号-lowlatency 三个内核
当指定安装内核版本为脚本更新至 v3.0 已移除此特性,若需要使用请使用 v2.9.1 版本v4.10.2
时,只会安装 image 内核
当指定安装内核版本为v4.13.x
时,会使用新版本内核适配的源码 - 启用魔改算法
在/etc/sysctl.conf
中添加项:tcp_congestion_control=nanqinlang
CentOS 6/7
CentOS 6/7 的脚本,套路和 Debian 上的那个大致相当,主要在于以下区别:
- 安装内核
下载内核安装包至 /home/tcp_nanqinlang
安装内核版本 v4.13.8(main line)
不会询问你需要安装哪个版本号的内核
此命令完成后,系统中会装有 linux-4.13.8 linux-devel-4.13.8 linux-headers-4.13.8 三个内核
当这个命令完成后,和上面 Debian 版的脚本不同,系统中依旧会留有其它版本的内核,这些留有的其它版本的内核,会在执行第二个选项“安装并启用算法”后被移除
请注意,“安装并启用算法”选项一定要在执行完成第一个选项“安装内核”并重启 vps 后才能执行 - 启用魔改算法
在/etc/sysctl.conf
中添加项:tcp_congestion_control=nanqinlang
魔改概要
# 以 暴力模式 为例
pacing = 6 / 3
BBR_UNIT = * 6 / 3
rtt_sec = 5
rtt_max = 40
rtt_ms = 100
cycle_len + 7
补充一下
- 运行脚本时,请使用
bash
命令 - 对于 Debian 版的脚本,“安装内核”选项可以
任意指定
要安装的内核版本,可升可降 - 卸载命令不会改动您的内核
- 编译算法时如有报错请私戳我
- 魔改:
暴力"魔"(膜),不可取
(逃~)
声明:
1.本站为个人非盈利站点,旨在个人学习、欣赏及记录等,故不受狭义的商业性版权限制,除非特别声明;
2.本站主要内容来源为本站编辑撰写、网友投稿(包括原创及非原创)、翻译外文和转载其他网站。