前置き
デフォルト設定のサーバとBBR設定済みのサーバを用意して、クライアントからサーバへアクセスしてファイルをダウンロードした時のダウンロード速度の比較です。
実際に使いそうな環境でBBRに変えた場合に、pingの違うサーバでどの程度の効果があるのか確認したかったので試してみました。
とはいえ環境や回線の混み具合で結果が大幅に変わるガバガバな測定方法なので、決して当てにしてはいけない数値です。
あと測定方法は以下のPowerShellスクリプトを参考にしたのですが、これも信用できるかよく分かっていないです。
PowerShell: Measuring Download Speeds – Trevor Sullivan’s Tech Room
測定環境
サーバ
- OS : Ubuntu 16.04.4
- kernel : 4.13.0-36-generic
- 場所 : 東京、シアトル、パリ (VultrのVPSをそれぞれの場所のデータセンターに構築)
- HTTPサーバ : Apache2
- sysctlの設定
設定 デフォルト BBR net.core.default_qdisc pfifo_fast fq net.ipv4.tcp_congestion_control cubic bbr
クライアント
- OS : Windows10
- 場所 : 日本国内
- 回線 : FLETS光
測定方法
- 東京、シアトル、パリの3箇所に1GBのテストデータを置いたHTTPアクセス可能なサーバを構築。
- サーバの輻輳制御アルゴリズムはデフォルト(cubic)とBBRの2つ。
- クライアントからテストデータをダウンロードした際のダウンロードファイルのサイズを測定。
測定結果
東京に構築したサーバ
- Ping平均 : 6ms
デフォルト(cubic) | BBR | |
---|---|---|
平均速度(3回試行) | 19.12MB/sec | 65.45MB/sec |
平均完了時間(3回試行) | 50秒 | 15秒 |
シアトルに構築したサーバ
- Ping平均 : 99ms
デフォルト(cubic) | BBR | |
---|---|---|
平均速度(3回試行) | 6.01MB/sec | 22.62MB/sec |
平均完了時間(3回試行) | 2分38秒 | 42秒 |
パリに構築したサーバ
- Ping平均 : 231ms
デフォルト(cubic) | BBR | |
---|---|---|
平均速度(3回試行) | 2.93MB/sec | 9.81MB/sec |
平均完了時間(3回試行) | 5分25秒 | 1分38秒 |
所感
実施前は速くなったとしても数%程度だと思っていたので、正直なところ測定ミスを疑って同じ手順で2回やってみています。
BBRの速度はグラフで見ると天井に張り付くような形で推移しており、特にpingの大きいパリの結果で顕著です。回線速度の上限までうまく使っているということなのかな?
どうにしろ、速度が欲しくてOSをチューニングする場合には、試すべき一手と言えそうです。
コメント