NICを比較してみる

28 Jan. 2002

今回、ちょっと手元に色々資材が揃ったので、いくつかのNICを比較してみました。

計測した環境など

CPUはIBM xSeries 200 Celeron 800MHzモデル(8478-31X) 2台を対向でスイッチングHUB経由で接続しました。
テストしたNICは、オンボードのNIC(eepro100)と、インテル純正のIntel PRO/100Sカード (PCIバス接続)、corega FEtherW PCI-TX(AMD pcnet32)の3種類。
ただし、事前テストで、オンボードNICとインテル純正Intel PRO/100Sカードでは、 ほとんど差が無いようなので、3種全種類での比較は行っていません。
主には、eepro100対応NICとpcnet32対応NICの比較を行ったと考えて頂ければ良いかと思います。
2台のCPUを繋ぐスイッチングHUBは、既に廃版機種となっているメルコのLSW-10/100-8という8ポートのスイッチングHUB。
24時間連続稼動すると熱暴走するので現用から外されてその辺に転がってたものです(^^;。
スイッチには、測定対象の2ポートのみを接続し、他のトラフィックの影響を受けないようにしました。

ソフト関連は、どちらもDebian GNU/Linux potatoベースで、カーネルは2.2.20
測定の方法は、512MByte(512*1024*1024=536,870,912byte)のファイルを

# dd if=/dev/zero of=target bs=1024k count=512

で作成し、lftpでput/getを行い、lftpの表示するレートを使っています。
2台とも今回テストで必要なタスク以外はほとんど無い状態で計測しています。
更に、Intelから提供されているe100ドライバも試してみました。

計測結果

計測を行った全ての組み合わせで、put/getを5回ずつ行っています。

pcnet32 ←→ pcnet32
get 19.244 put 110.949
29.009211.006
38.979310.914
48.913411.011
58.954510.860
Ave9.020 Ave10.948

eepro100 ←→ pcnet32
get 18.371 put 110.979
28.388211.242
38.181310.844
48.238411.258
58.306510.951
Ave8.297 Ave11.055

eepro100 ←→ eepro100
get 18.521 put 111.094
28.350210.809
38.484311.223
48.484411.229
58.391510.807
Ave8.446 Ave11.032

e100 ←→ e100
get 19.317 put 111.436
29.335211.286
39.310311.294
49.198411.283
59.232511.282
Ave9.278 Ave11.316

結果

eepro100とpcnet32の比較では、組合わせによって速かったり遅かったりとありますが、 比較的pcnet32はgetが速く、eepro100はputが速いという感じでしょうか?
これは、putの場合、バッファまで書いたらおしまいなので、 eepro100の方が送信バッファが大きいとかそういう事なのかもしれません (ソース見たわけでは無いので確証はありません)
eepro100がputが速いと言っても僅差ですから、 多少(ほんのちょっとだけ)pcnet32が総合的には速いのかもしれません。
ただ、計測中、pcnet32は「Tx FIFO Error」が出まくりでした(^^;。
エラーが出てもデータはちゃんと届くし、レートも速いので気にしなければいいのかもしれませんが、気持ちは悪い(^^;
特筆すべきはやはりインテル純正ドライバのe100でしょう。
eepro100とpcnet32の僅差と違って、有意な差があります。
極限まで(^^;使い倒したのであれば、インテルチップ+e100ドライバというのが良いかも。
まぁ、eepro100に比べて、使用されている場面は少ないでしょうから、実環境で使い倒したらどうなのかは気になる所です。
多少のレートは気にしないけど 気持ち悪いのはヤダ という人はeepro100
多少の気持ち悪さは気にしないし、カーネルに自前でパッチするのも面倒だけど速いのがいいなぁという人はpcnet32
バリバリ速いのがいいのさ!という人はe100をオススメ.........なのかな?

ここでは、ざっと比べてみただけで、公式に認められるほど条件/環境を詰めて計測した訳ではないので、 あくまでも「ウチで試してみたらこんなんでした」というだけで、 他で試してみたら別の結果が出るかもしれません。
一番クサいのは、Celeron800MHzというスペックが足を引っ張ってる場面があるかもしれないという点でしょうか。
機会があれば(そして気力があれば(^^;)もっとハイスペックなCPUでやってみる....かも(^^;


Copyright Masaki Ikeda 2002, All rights reserved
リンク、引用、転載などはご自由にどうぞ。