(ジャンル: Linux)
ベンチマークの方法
ベンチマークにはIperfという ネットワークパフォーマンス測定ツールを使用しました。
IperfはTCP・UDPのそれぞれについて、 ネットワーク帯域を測定することができます。
Iperfはサーバーモードで起動しておいてから、 クライアントモードで接続して測定するといおう方法をとります。 なので、サーバ・クライアントを入れ替えることで更に2種類の 測定も行うことになります。
LinuxでのIperfはDebianのバイナリパッケージを利用しましたが、 Windowsでは http://dast.nlanr.net/Projects/Iperf/で 配布されているバイナリパッケージを使用しました。
ベンチマーク環境
以下の2台のPCが100BASE-TXで接続されている環境で ベンチマークを行いました。
- Windows2000/Athlon XP2500…これがcoLinuxのホストPCです。
- Linux/Turion64 1.6GHz…ファイルサーバーをしています。
この環境で、 coLinuxのネットワーク接続方法をTAP-Win32とWinPCapで切り替えて、 各PCとのネットワークパフォーマンスを測定しました。 また、参考に各PC同士のパフォーマンスも測定しました。
なお、TAP-Win32を用いた接続では、さらに、 Host PCをルータにして接続をした場合 (coLinuxのインストール TAP-Win32でのルータ接続)と、 Ethernet Bridge 2.0を使用したブリッジ接続をした場合 (Windows2000でTAP-Win32ドライバを使ったブリッジ接続) で測定しました。
TCPのベンチマーク
測定コマンド
測定にはサーバ側を
> iperf -s
と起動しておいてから、 クライアント側で以下のコマンド実行しました。
> iperf -c ホスト名
測定結果
測定結果は以下のとおりです。
Server | ||||||
---|---|---|---|---|---|---|
colinux(WinPcap:ブリッジ) | colinux(TAP32:ルータ) | colinux(TAP32:ブリッジ) | Windows 2000 | linux | ||
Client | colinux(WinPcap:ブリッジ) | 1177.6 | --- | --- | 93.7 | 26.3 (*1) |
colinux(TAP32:ルータ) | --- | 1361.9 | --- | 107 | 92.8 | |
colinux(TAP32:ブリッジ) | --- | --- | 1198.1 | 81.7 | 92.8 | |
Windows2000 | 77.5 | 158 | 42.2 | 672 | 93.7 | |
linux | 85.9 | 85.8 | 85.6 | 86.0 | 4393.0 |
結果考察
クライアントとサーバーを同じマシンで動かしている場合に パフォーマンスが非常に高くなっていますが、 これは実際にはデータはネットワークに流れておらず マシン内部で処理されているためです(ループバック処理)。 この場合のパフォーマンスはおそらくOSのプロトコルスタック処理の早さと、 CPUの速さが影響すると思われます。
この結果で最も注目すべきは、(*1)で示した部分です。 WinPcapを使った場合は、 ホストPCとのデータ転送はまずまずのパフォーマンスがでていますが、 LAN上のPCとは非常に悪くなっています。
UDPのベンチマーク
測定コマンド
測定にはサーバ側を
> iperf -s -u
と起動しておいてから、 クライアント側で以下のコマンド実行しました。
> iperf -c ホスト名 -u -b 100m
測定結果
測定結果は以下のとおりです。
Server | ||||||
---|---|---|---|---|---|---|
colinux(WinPcap:ブリッジ) | colinux(TAP32:ルータ) | colinux(TAP32:ブリッジ) | Windows 2000 | linux | ||
Client | colinux(WinPcap:ブリッジ) | 100 | --- | --- | 80.4 | 99.3 |
colinux(TAP32:ルータ) | --- | 99.4 | --- | 98.7 | 94.3 | |
colinux(TAP32:ブリッジ) | --- | --- | 99.5 | 88.3 | 94.2 | |
Windows2000 | 93.8 | 99.5 | 100 | 100 | 94.8 | |
linux | 87.6 | 84.7 | 87.0 | 85.5 | 100 |
結果考察
以前はUDPで動作が不安定なことがありましたが、 測ってみると最近のcolinuxでは安定したスループットを出している 事がわかります。 安心してUDPを使えそうです。
まとめ
以前は、WinPCapとTAP-Win32でいろいろクセがあったのですが、 解消されているようです。
ネットワーク接続の方法は自分の環境に合わせて選んでよさそうです。
Copyright © 2004-2008 scratchpad All rights reserved.