CentOS 7にGoogle BBRをデプロイする方法

BBR(Bottleneck Bandwidth and RTT)は、GoogleがLinuxカーネルTCPスタックに提供する新しい輻輳制御アルゴリズムです。BBRを配置すると、Linuxサーバーで接続のスループットが大幅に向上し、待ち時間が短縮されます。さらに、このアルゴリズムは送信側での更新のみを必要とし、ネットワークや受信側では更新を必要としないため、BBRの展開は簡単です。

この記事では、Vultr CentOS 7 KVMサーバーインスタンスにBBRをデプロイする方法について説明します。

前提条件

ステップ1:ELRepo RPMリポジトリを使用してカーネルをアップグレードする

BBRを使用するには、CentOS 7マシンのカーネルを4.9.0にアップグレードする必要があります。ELRepo RPMリポジトリーを使用して、それを簡単に行うことができます。

アップグレードの前に、現在のカーネルを確認できます。

uname -r

このコマンドは、次のような文字列を出力するはずです。

3.10.0-514.2.2.el7.x86_64

ご覧のとおり、現在のカーネルは3.10.0です。

ELRepoリポジトリをインストールします。

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

ELRepoリポジトリを使用して4.9.0カーネルをインストールします。

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

結果を確認します。

rpm -qa | grep kernel

インストールが成功するとkernel-ml-4.9.0-1.el7.elrepo.x86_64、出力リストに次のように表示されます。

kernel-ml-4.9.0-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.2.2.el7.x86_64
kernel-tools-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64

ここで、デフォルトのgrub2ブートエントリを設定して、4.9.0カーネルを有効にする必要があります。

grub2メニューのすべてのエントリを表示します。

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

結果は次のようになります。

CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.9.0-1.el7.elrepo.x86_64)
CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bf94f46c6bd04792a6a42c91bae645f7) 7 (Core)

インデックス作成はから始まり0ます。つまり、4.9.0カーネルは次の場所にあり1ます。

sudo grub2-set-default 1

システムを再起動します。

sudo shutdown -r now

サーバーがオンラインに戻ったら、再度ログインしてunameコマンドを再実行し、正しいカーネルを使用していることを確認します。

uname -r

次のような結果が表示されます。

4.9.0-1.el7.elrepo.x86_64

ステップ2:BBRを有効にする

BBRアルゴリズムを有効にするにはsysctl、次のように構成を変更する必要があります。

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

手順3(オプション):ネットワークパフォーマンスの向上をテストする

BBRのネットワークパフォーマンスの向上をテストするために、ダウンロード用のWebサーバーディレクトリにファイルを作成し、デスクトップマシンのWebブラウザーからダウンロード速度をテストできます。

sudo yum install httpd -y
sudo systemctl start httpd.service
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
cd /var/www/html
sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500

最後に、http://[your-server-IP]/500mb.zipデスクトップコンピューターのWebブラウザーからURLにアクセスし、ダウンロード速度を評価します。

それで全部です。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。