BBRはGoogleがオープンソースで公開しているTCPネットワーク輻輳最適化アルゴリズムで、訪問者からサーバーへのアクセス速度を向上させることができます。特に海外サーバーの場合、bbrアルゴリズムを有効にすると、
サイト最適化一定の助けとなります。ここでは、NaibaがCentOS7システムを使用して、新しいカーネル(BBRにはカーネル4.9以上が必要)をインストールし、BBR加速を有効にする方法をデモンストレーションします。
CentOS7に新しいカーネルをインストールする手順
まず、現在のサーバーのカーネルバージョンを確認します。
uname -sr
unameコマンドは、現在のシステム関連情報(カーネルバージョン、ハードウェアアーキテクチャ、ホスト名、OSタイプなど)を表示するために使用されます。
-a或--all:显示全部的信息;
-m或--machine:显示电脑类型;
-n或-nodename:显示在网络上的主机名称;
-r或--release:显示操作系统的发行编号;
-s或--sysname:显示操作系统名称;
-v:显示操作系统的版本;
-p或--processor:输出处理器类型或"unknown";
-i或--hardware-platform:输出硬件平台或"unknown";
-o或--operating-system:输出操作系统名称;
--help:显示帮助;
--version:显示版本信息。
BBRカーネル要件は4.9+です。通常、上記のコマンドで表示されるカーネルバージョンは3.xです。次に、ELRepoリポジトリを有効にします。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

次に、新しい安定版カーネルをインストールします。
yum --enablerepo=elrepo-kernel install kernel-ml -y
インストール完了後、以下のコマンドを使用してインストールが成功したかどうかを確認します。
rpm -qa | grep kernel
私の表示は以下の通りです:
kernel-3.10.0-862.14.4.el7.x86_64
kernel-ml-5.3.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.5.1.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-ml-5.3.8-1.el7.elrepo.x86_64がインストールされた新しいカーネルバージョンです(このチュートリアルを見ている時点ではカーネルバージョンが変わっている可能性があるので、臨機応変に対応してください)。次に、システムの起動順序を設定する必要があります。以下のコマンドを使用します。
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
私の表示は以下の通りです:
CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.1.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-618ca2de6e204efbb013b592564ef36a) 7 (Core)
最初に表示されるのは「CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)」です。最初の行を0として数え、0、1、2、3...と続け、新しいカーネルが何行目にあるかを確認します。次に、以下のコマンドを入力します(コマンド例は1行目の場合)。
sudo grub2-set-default 0
次にサーバーを再起動します。
reboot
再度カーネルバージョンを確認します。
uname -r
カーネルバージョンが4.9以上と表示されれば、インストール成功です。この記事更新時点での新しいバージョンは5.3.8でした。カーネル設定を再構築します。
grub2-mkconfig -o /boot/grub2/grub.cfg
システムを再起動して検証し、問題がなければOKです。
CentOS7の新しいカーネルでBBRを有効にする
新しくインストールしたCentOS7で新しいカーネルを有効にするには、以下のコードをコピーして実行するだけです。
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
次に、以下のコマンドを入力してBBRが正常に有効になったかどうかを確認します。
sudo sysctl net.ipv4.tcp_available_congestion_control
成功した場合、以下のような出力が表示されるはずです。
net.ipv4.tcp_available_congestion_control = bbr cubic reno
さらに検証を続けます。
sudo sysctl -n net.ipv4.tcp_congestion_control
出力は以下のようになるはずです。
bbr
最後に、カーネルモジュールがロードされているかどうかを確認します。
lsmod | grep bbr
出力は以下のようなものになるはずです。
tcp_bbr 16384 0
BBRを有効にするメリットは何ですか?
簡単に言うと、BBRを有効にすることで、あなたのウェブサイトのアクセス速度をある程度最適化することができます。例えば、NaibaのノートはWordPressを使用しており、BBRを通じてWordPressサイトの速度をある程度最適化することもできます。もちろん、Naibaは国内サーバーを使用しているため、BBRの加速効果はそれほど顕著ではありません。BBRはGoogleがオープンソースで公開しているTCPネットワーク輻輳最適化アルゴリズムです。TCP BBRは、2つの問題の解決に取り組んでいます:ある程度のパケット損失率があるネットワークリンク上で帯域幅を最大限に活用すること。ネットワークリンク上のバッファ占有率を低下させ、遅延を低減すること。TCP輻輳制御の目標は、ネットワーク上のボトルネックリンクの帯域幅を最大限に活用することです。オープンソースアドレス:
https://github.com/google/bbrBBRおよびBBR2ワンクリックパッケージ
BBR2とは何ですか?
BBR2は現在まだプレビュー版であり、BBRのアップグレードバージョンです。現在はまだ十分に成熟しておらず、本番環境での使用はお勧めしません。BBR2の詳細については、以下を参照してください:
https://github.com/google/bbr/blob/v2alpha/README.mdまた、READMEファイルにはBBR2の手動インストール手順が含まれていますので、ここではコピーしません。
bbr2ワンクリックパッケージ
警告:カーネルの変更にはリスクがあります。本スクリプト使用後に起動不能となり損害が発生しても、一切の責任を負いません。 推奨システム:Debian 10 x86_64。理論上はDebian 8+、Ubuntu 16.04+をサポート。 KVM仮想化アーキテクチャのVPSのみに適用されます。OVZ、Xen、または専用サーバーの場合は試さないでください。 64ビット(x86_64)システムのみ対応。x86はサポートされません。
CentOSおよびその他のシステムはサポートされません。 BandwagonHostのDebian 8、9、10、Ubuntu 16.04、18.04でテスト済み(Ubuntu 14.04は失敗)。 以下のプロバイダーのDebian 10システムでテスト済み:Oracle Public Cloud, DMIT, OLVPS, AlibabaCloud Debian 10 インストール成功率100%。 CentOSシステムユーザーはbbrを使用するか、BBR2の手動インストールを試みることをお勧めします。
wget --no-check-certificate -q -O bbr2.sh "https://raw.githubusercontent.com/yeyingorg/bbr2.sh/master/bbr2.sh" && chmod +x bbr2.sh && bash bbr2.sh auto
重要!BBR/ECNを有効/無効にした後は、システムを再起動してください。スクリプトにバグがあり、効果が発揮されなかったり、古いbbrなどのアクセラレーションと共存してしまう可能性があります。BBRワンクリックパッケージ
bbrワンクリックパッケージは、より多くのシステムをサポートしますが、前提としてカーネルバージョンがbbrをサポートしている必要があります。カーネルバージョンが不十分な場合は、手動でカーネルを更新する必要があります。 サポートシステム:CentOS 6+、Debian 7+、Ubuntu 12+ 仮想化技術:OpenVZ以外(例:KVM、Xen、VMware等) メモリ要件:≥128M
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
bbr plusワンクリックパッケージ
bbr plusは、オリジナルのbbrのパラメータを最適化したもので、一部のマシンではオリジナル版よりも高速化効果が高くなります。 本記事で紹介するBBR Plusワンクリックインストールスクリプトは、ネットユーザーcx9208によるものです。BBR Plusに加え、オリジナルBBRワンクリックインストール、魔改BBRワンクリックインストール、鋭速(lotServer)ワンクリックインストールも統合されており、四合一バージョンで、4つのバージョンを切り替えて使用できます。 対応アーキテクチャ:KVM / Xen。OpenVZ(OVZ)は非対応。 対応システム:CentOS 7、Debian 8、Debian 9、Ubuntu 16.04、Ubuntu 18.04。
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
コメントは終了しました
この記事のコメント機能は終了しています。ご質問がある場合は、他の方法でお問い合わせください。