スループットとは
スループット(throughput)は、一般的に単位時間あたりに処理できる能力やデータ転送量を指す言葉です。特に、
コンピュータやネットワークの性能を評価する上で重要な指標となります。
スループットの定義
スループットは、具体的には以下の意味で使われます。
コンピュータの処理能力: 一定時間内にコンピュータが処理できるデータ量。
ネットワークのデータ転送量: 一定時間内にネットワークを通じて転送できるデータ量。
スループットは、レイテンシ(遅延時間)と並んで、システムやネットワークの
パフォーマンスを評価する上で重要な基準となります。
理論スループットと実効スループット
スループットには、理論上の最大値を示す
理論スループット(theoretical throughput)と、実際に通信や計算を行った際に得られる
実効スループット(effective throughput)の2種類があります。
理論スループットは、機器や規格の仕様から算出される最大値である一方、実効スループットは、実際の環境や様々な要因によって変動するため、理論値よりも低い値になることが一般的です。
データ処理におけるスループット
コンピュータにおけるスループットは、
CPUやGPUの処理能力、メモリやバスの
帯域幅、ストレージの読み書き速度、
オペレーティングシステムなど、様々な要因に影響を受けます。これらの要素が組み合わさることで、
コンピュータ全体の処理能力が決まります。
ネットワークにおけるスループット
ネットワークにおけるスループットは、単位時間あたりのデータ転送量を指します。例えば、家庭用
ルーターや
無線LAN機器の仕様には、「スループット:50Mbps」などと表記されることがあります。ただし、これらの表記は理論値である場合が多く、実際の環境では理論値通りのスループットが出ないことも少なくありません。
ネットワーク機器や回線を導入する際には、それぞれのスループットを考慮する必要があります。例えば、家庭用ブロードバンド回線に接続する機器は、回線と同等以上のスループットを持つものを選ぶのが望ましいです。また、スループットの低い機器や回線が経路中に存在すると、そこが
ボトルネックとなり、全体の
パフォーマンスを低下させる原因になります。
スループットの測定方法
スループットを
測定する方法はいくつか存在します。専用の
測定機器としては、Spirent社のSmartBitsが有名です。また、一般的な
測定方法としては、異なる負荷のトラフィックを機器に転送し、その結果からフレームサイズごとのスループットを求める方法があります。
近年では、インターネット上で簡易的に回線スループットを
測定できるサービスも多く存在します。これらのサービスを利用すれば、特定の
サーバーから自分の端末までのTCP/IPスループットを簡単に
測定することができます。
スループット速度の測定
スループットの速度は、bps(ビット/秒)という単位で表されます。回線提供事業者は、理論上の最大スループットを宣伝することがありますが、実際の使用環境では、端末の処理能力やネットワークの状況によって、この最大値が制限されることがあります。
グッドプット
グッドプットは、アプリケーション層に依存し、ハードウェアが処理できる速度よりも小さくなる場合があります。例えば、FTPでデータを転送する際には、データ本体に加えて、ヘッダー情報やエラー検出情報などのオーバーヘッドが含まれるため、実際に転送されるデータ量はスループットよりも小さくなります。
測定結果に影響を与える要因
スループットの
測定結果は、様々な要因によって変動します。以下に主な要因を挙げます。
外部要因
ネットワーク回線の品質: 経路上の回線の品質、遅延、輻輳などがスループットに影響します。ロス率が高いネットワークでは、再送処理が発生するため、スループットが低下します。
経路上の機器の性能: ルーターなどの機器の性能や
輻輳もスループットに影響します。
帯域遅延積: TCPのフロー制御により、帯域幅、遅延時間、受信ウィンドウサイズがスループットに影響します。特に、遅延時間が大きい回線では、ウィンドウサイズを適切に調整しないと、帯域幅の上限が制限されることがあります。
経路の変動: インターネットでは通信経路が常に一定とは限らず、経路が変動すると遅延も変化します。
サーバーや計測側コンピュータの設置場所: サーバーとクライアントの場所によって、経路や遅延が異なるため、測定結果も変動します。
サーバーや計測側コンピュータの要因: サーバーの過負荷や、クライアント側のソフトウェアの負荷などもスループットに影響します。
Wi-Fi端末の使用: Wi-Fiは有線LANに比べてレイテンシや実効速度が劣るため、測定結果に影響します。
性能の低い端末の使用: 低性能な端末では、ブラウザの動作速度が遅くなり、スループットの
測定結果にも影響します。
IPv6に関する諸問題: IPv6の設定が正しく行われていない場合、DNS名前解決に起因する遅延が発生し、スループットが低下する可能性があります。
計測サイトの仕様
同時接続数: スピードテストサイトが同時に使用するTCPコネクション数によって
測定結果が変動します。
測定技術: JavaアプレットやFlashなどの非標準技術を使用しているサイトでは、端末によっては正確な測定ができない場合があります。
その他の要因
測定プロトコル: スピードテストではTCPが主に使われますが、帯域遅延積によりスループットが制限されることがあります。UDPによる
測定は、フロー制御が難しいため、あまり行われません。
スループット測定ツールの方式
スループットを
測定するためのツールには、以下のような方式があります。
ブラウザによる測定: JavaScriptとWeb[[サーバ]]ーを利用して速度を測定。
Flashによる測定: FlashのActionScriptと
測定サーバーを利用して速度を
測定。
Java Appletによる測定: Java Appletと測定サーバーを利用して速度を測定。
専用ソフトウェアによる測定: クライアント側と
サーバー側に専用ソフトウェアを
インストールして速度を
測定。
RFCにおけるスループットの定義
RFC 1242では、スループットは「その機器によって送信フレームが損失しない最大レート」と定義されています。つまり、機器がフレームを欠損させることなく送信できる最大レートがスループットとなります。
まとめ
スループットは、
コンピュータやネットワークの性能を評価する上で不可欠な指標です。理論値だけでなく、実効値を理解し、様々な要因を考慮することで、より正確なシステムやネットワークの評価が可能になります。また、スループットを
測定する際には、様々なツールや方法があるため、目的に応じて適切な方法を選ぶことが重要です。
参考文献
Stuart Cheshire. "TCP Performance problems caused by interaction between Nagle's Algorithm and Delayed ACK", 2005.
阿野茂浩「2 章 ネットワーク層以下の品質」『知識ベース』電子情報通信学会(2011)
磯部隆史『通信品質を向上させるネットワークアプライアンスに関する研究』 筑波大学〈博士(工学) 甲第7277号〉、2015年。
JIS C 6960:2012「ルーティング機器及びスイッチング機器のエネルギー消費効率の
測定方法」