coLinuxのネットワークの接続方法には、いろいろな手段があります(詳しくはこちら)。
初めてcoLinuxを使おうという人はどの方法を使ったらよい かわかりにくいかと思いますので、 とりあえずTAP-Win32ドライバとWinPCapを用いた場合の ベンチマークを取ってみました。
厳密に測定したわけでないのであくまでも参考値に過ぎませんが、 接続方法に迷っている人は参考にしてみてください。 ただし、私はWindows2000しか使っていないので、 WindwosXPの方には参考にならないかもしれません。
なお、coLinuxは0.8.0(20080113)を使っています。
|
ベンチマークの方法ベンチマークにはIperfという ネットワークパフォーマンス測定ツールを使用しました。 netperfはTCP・UDPのそれぞれについて、 ネットワーク帯域を測定することができます。 Iperfはサーバーモードで起動しておいてから、 クライアントモードで接続して測定するといおう方法をとります。 なので、サーバ・クライアントを入れ替えることで更に2種類の 測定も行うことになります。 LinuxでのIperfはDebianのバイナリパッケージを利用しましたが、 Windowsではhttp://dast.nlanr.net/Projects/Iperf/で配布されているバイナリパッケージを使用しました。 ベンチマーク環境以下の2台のPCが100BASE-TXで接続されている環境で ベンチマークを行いました。
この環境で、 coLinuxのネットワーク接続方法をTAP-Win32とWinPCapで切り替えて、 各PCとのネットワークパフォーマンスを測定しました。 また、参考に各PC同士のパフォーマンスも測定しました。 なお、TAP-Win32を用いた接続では、さらに、 Host PCをルータにして接続をした場合 (詳しくはこちら)と、 Ethernet Bridge 2.0を使用したブリッジ接続をした場合 (詳しくはこちら) で測定しました。 TCPのベンチマーク測定コマンド測定にはサーバ側を
> iperf -s
と起動しておいてから、 クライアント側で以下のコマンド実行しました。
> iperf -c ホスト名
測定結果測定結果は以下のとおりです。
結果考察クライアントとサーバーを同じマシンで動かしている場合に パフォーマンスが非常に高くなっていますが、 これは実際にはデータはネットワークに流れておらず マシン内部で処理されているためです(ループバック処理)。 この場合のパフォーマンスはおそらくOSのプロトコルスタック処理の早さと、 CPUの速さが影響すると思われます。 この結果で最も注目すべきは、(*1)で示した部分です。 WinPcapを使った場合は、 ホストPCとのデータ転送はまずまずのパフォーマンスがでていますが、 LAN上のPCとは非常に悪くなっています。 UDPのベンチマーク測定コマンド測定にはサーバ側を
> iperf -s -u
と起動しておいてから、 クライアント側で以下のコマンド実行しました。
> iperf -c ホスト名 -u -b 100m
測定結果測定結果は以下のとおりです。
結果考察以前はUDPで動作が不安定なことがありましたが、 測ってみると最近のcolinuxでは安定したスループットを出している 事がわかります。 安心してUDPを使えそうです。 まとめ以前は、WinPCapとTAP-Win32でいろいろクセがあったのですが、 解消されているようです。 ネットワーク接続の方法は自分の環境に合わせて選んでよさそうです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEO | 仕事 花 | 掲示板 レンタルサーバー プロフ SEO | |