スループット

スループットとは



スループット(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による測定は、フロー制御が難しいため、あまり行われません。

スループット測定ツールの方式



スループットを測定するためのツールには、以下のような方式があります。

ブラウザによる測定: JavaScriptWeb[[サーバ]]ーを利用して速度を測定
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「ルーティング機器及びスイッチング機器のエネルギー消費効率の測定方法」

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。