BBR加速 Centos
<div><div>
<h2>BBR是什么</h2>
<p>BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。</p>
<h2>BBR项目地址</h2>
<p>https://github.com/google/bbr</p>
<h2>手动安装,升级内核</h2>
<p>开启 BBR 要求 4.10 以上版本 Linux 内核,可使用如下命令查看当前内核版本</p>
<pre class="hljs undefined"><code>uname -r
</code></pre>
<blockquote>
<p>3.10.0-514.10.2.el7.x86_64</p>
</blockquote>
<p><strong>如果当前内核版本低于 4.10,可使用 ELRepo 源更新:</strong><br>
http://elrepo.org/tiki/tiki-index.php</p>
<ol>
<li>导入公钥</li>
</ol>
<pre class="hljs cpp"><code class="cpp">rpm --<span class="hljs-keyword">import https:<span class="hljs-comment">//www.elrepo.org/RPM-GPG-KEY-elrepo.org
</span></span></code></pre>
<p>要为RHEL-安装ELRepo 7,SL- 7或CentOS- 7:</p>
<pre class="hljs cpp"><code class="cpp">rpm -Uvh https:<span class="hljs-comment">//www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm</font>
</span></code></pre>
<p>要为RHEL-安装ELRepo 6,SL- 6或CentOS- 6:</p>
<pre class="hljs cpp"><code class="cpp">rpm -Uvh https:<span class="hljs-comment">//www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
</span></code></pre>
<p>要使用ELRepo的镜像系统,请同时安装yum-plugin-fastermirror。</p>
<ol start="2">
<li>安装内核</li>
</ol>
<pre class="hljs undefined"><code>yum --enablerepo=elrepo-kernel install kernel-ml -y
</code></pre>
<p>安装完成后,查看已安装的内核:</p>
<pre class="hljs undefined"><code>rpm -qa | grep kernel
</code></pre>
<blockquote>
<p>kernel-tools-3.10.0-957.1.3.el7.x86_64<br>
kernel-3.10.0-957.1.3.el7.x86_64<br>
kernel-3.10.0-957.el7.x86_64<br>
kernel-tools-libs-3.10.0-957.1.3.el7.x86_64<br>
kernel-ml-4.20.0-1.el7.elrepo.x86_64</p>
</blockquote>
<p>在输出中看到类似kernel-ml-4.20.0-1.el7.elrepo.x86_64的内容,表示安装成功。</p>
<ol start="3">
<li>修改grub2引导</li>
</ol>
<pre class="hljs undefined"><code>egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
</code></pre>
<blockquote>
<p>CentOS Linux (4.20.0-1.el7.elrepo.x86_64) 7 (Core)<br>
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)<br>
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)<br>
CentOS Linux (0-rescue-40b6222317d24a7690053e4070fadddb) 7 (Core)</p>
</blockquote>
<p>由于序号从0开始,设置需要的内核为启动项</p>
<pre class="hljs cpp"><code class="cpp">grub2-<span class="hljs-built_in">set-<span class="hljs-keyword">default <span class="hljs-number">0
reboot
</span></span></span></code></pre>
<p>重启完成后,重新登录并重新运行uname命令来确认你是否使用了正确的内核:</p>
<pre class="hljs undefined"><code>uname -r
</code></pre>
<p>得到如下结果则升级成功:</p>
<blockquote>
<p>4.20.0-1.el7.elrepo.x86_64</p>
</blockquote>
<h2>开启BBR</h2>
<pre class="hljs ruby"><code class="ruby">echo <span class="hljs-string">'net.core.default_qdisc=fq' <span class="hljs-meta">>> /etc/sysctl.conf
echo <span class="hljs-string">'net.ipv4.tcp_congestion_control=bbr' <span class="hljs-meta">>> /etc/sysctl.conf
sysctl -p
</span></span></span></span></code></pre>
<h2>脚本自动安装</h2>
<p><strong>BBR脚本链接</strong> https://raw.githubusercontent.com/teddysun/across/master/bbr.sh</p>
<pre class="hljs cpp"><code class="cpp">curl -O https:<span class="hljs-comment">//raw.githubusercontent.com/teddysun/across/master/bbr.sh && sh bbr.sh
</span></code></pre>
<h2>验证</h2>
<p>查看可以用的拥塞控制算法</p>
<pre class="hljs css"><code class="css"><span class="hljs-selector-tag">sysctl <span class="hljs-selector-tag">net<span class="hljs-selector-class">.ipv4<span class="hljs-selector-class">.tcp_available_congestion_control
</span></span></span></span></code></pre>
<p>得到结果</p>
<blockquote>
<p>net.ipv4.tcp_available_congestion_control = reno cubic bbr</p>
</blockquote>
<p>查看现在使用的拥塞控制算法</p>
<pre class="hljs css"><code class="css"><span class="hljs-selector-tag">sysctl <span class="hljs-selector-tag">net<span class="hljs-selector-class">.ipv4<span class="hljs-selector-class">.tcp_congestion_control
</span></span></span></span></code></pre>
<p>得到结果</p>
<blockquote>
<p>net.ipv4.tcp_congestion_control = bbr</p>
</blockquote>
<p>检查BBR是否正常运行</p>
<pre class="hljs undefined"><code>lsmod | grep tcp_bbr
</code></pre>
<blockquote>
<p>tcp_bbr 20480 1</p>
</blockquote>
<h2>速度测试</h2>
<p>创建一个文件,搭建http服务</p>
<pre class="hljs javascript"><code class="javascript">dd <span class="hljs-keyword">if=<span class="hljs-regexp">/dev/zero <span class="hljs-keyword">of=<span class="hljs-number">500mb.zip bs=<span class="hljs-number">1024k count=<span class="hljs-number">500
</span></span></span></span></span></span></code></pre>
<p>访问 http:///500mb.zip 来测试下载速度~</p>
</div>
<br><br>作者:Kokoronashi<br>链接:https://www.jianshu.com/p/62c9b9570c05<br>来源:简书<br>简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。</div><br><br>
来源:https://www.cnblogs.com/bluestorm/p/11484503.html
頁:
[1]