TCP BBRを使ってLinuxサーバーのインターネット速度を向上させる方法
BBR(ボトルネック帯域幅とRTT)は、Googleのソフトウェアエンジニアによって開発された比較的新しい輻輳制御アルゴリズムです。これは、インターネットの作業馬であるTCPプロトコルを介してインターネットをより速くするためのGoogleの継続的な試みから生まれた最新のソリューションです。
BBRの主な目的は、ネットワークの利用効率を向上させ、(遅いネットワーク活動の原因となる)キューを減少させることです。これはサーバーに導入するべきであり、ネットワークやクライアント側には導入すべきではありません。Linuxでは、BBRは4.9以上のカーネルバージョンで実装されています。
この記事では、TCP BBRについて簡単に説明し、その後、LinuxでTCP BBR輻輳制御を使用してLinuxサーバーのインターネット速度を向上させる方法を示します。
要件
Linuxカーネルのバージョン4.9以上がインストールされている必要があり、これらのオプション(モジュールとしてまたは組み込まれている)でコンパイルされている必要があります:
- CONFIG_TCP_CONG_BBR
- CONFIG_NET_SCH_FQ
- CONFIG_NET_SCH_FQ_CODEL
Linuxでカーネルモジュールを確認する方法
上記のオプションがカーネルにコンパイルされているか確認するには、次のコマンドを実行してください。
cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'
カーネルを更新するには、これらのガイドを確認してください:
- Ubuntuでカーネルを最新バージョンにアップグレードする方法
- CentOS 7で最新のカーネルバージョンをインストールまたはアップグレードする方法
LinuxでTCP BBR輻輳制御を有効にする
BBRは効果的にペース配分を行うため、トラフィックペース配分のためにfq qdiscクラスレスパケットスケジューラと一緒に使用する必要があります。fq qdiscに関する詳細情報を見つけるには、次のように入力してください:
# man tc-fq
BBRの十分な理解があれば、今すぐサーバーでそれを設定できます。お気に入りのエディターを使用して/etc/sysctl.confファイルを開いてください。
# vi /etc/sysctl.conf
ファイルの末尾に以下のオプションを追加します。
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
ファイルを保存して閉じます。その後、sysctl コマンドを使用してシステムに変更を適用します。
# sysctl --system
下のスクリーンショットから、オプションに適切な値が追加されたことがわかります。
TCP BBR輻輳制御設定のテスト
必要な設定を行った後、実際に動作しているかテストできます。帯域幅の速度を測定するためのツールはいくつかあり、例えばSpeedtest-CLIがあります。
- コマンドラインから‘Speedtest-CLI’ツールを使用してインターネット速度を双方向にテストする方法
他のツールには、ネットワークの帯域幅を表示する bmon (帯域モニター)、nload、Wget - コマンドベースのファイルダウンローダー、そしてcURLが含まれており、これらをテストに使用できます。
BBR Githubリポジトリ: https://github.com/google/bbr
関連する記事もお読みになることをお勧めします。
- 自分の「Speedtest Mini Server」を設置してインターネットの帯域幅速度をテストする
- Linuxシステムでアプリケーションによって使用されるネットワーク帯域幅を制限する方法 - Trickleを使用して
- 永続的および非永続的な方法でカーネル実行時パラメータを変更する方法
この記事では、LinuxにおけるTCP BBR輻輳制御を使用してLinuxサーバーのインターネット速度を向上させる方法を示しました。さまざまなシナリオで包括的にテストし、以下のコメントフォームを通じて重要なフィードバックをお寄せください。
クレジット: Nixcraft


