Just MyShopへ
Princo.org は Justsystem を応援します
技術関連情報サイト http://wiki.princo.org/ をオープンしました.
dum
logo01 logo02
コラム
TOP > column > 20021102.html
メニュー

Just MyShopへ
Justsystem
応援します!
border01 border02 border03
border04

ネットワークカードとLinux

Linuxで使えるNIC

2002年10月現在、Linuxで利用可能なネットワークカードの種類は大変豊富に 存在します。値段が高いものから安いもの。大きいものから小さいものまで、 ひと口に100Base-TX対応PCIカードと言っても価格、種類、性能の差は ピンからキリ まで様々です。

どのネットワークカードを選ぶか

ネットワークカードの見分け方は、 コアとして搭載しているコントローラチップにあり、 代表的な製品が搭載しているチップとして、

  • Intel
  • 3com
  • DEC
  • SMC
  • VIA
  • WDC
  • AMD
  • RealTek

などが挙げられます。 日本でパッケージ販売されている製品(メルコ,Planex,コレガ)も 殆どが上記何れかのチップを搭載しています。

安いネットワークカードは安全か

種類の豊富なネットワークカードですが、主に2種類に分類する事ができます。 インテリジェンスなものと、そうでないものです。

インテリジェンスなもの

  • Intel
  • 3com
  • DEC
  • WDC
  • AMD
  • VIA

そうでないもの

  • VIA
  • RealTek
  • SMC

「インテリジェンスな」チップはエラー制御やある程度決まった フロー通信などはチップ上の独自の制御を用い簡略化して行いますが、 「そうでないもの」はOS(ドライバ)が計算と判断をする事になります。 この違いにより、同じ通信量(トラフィック)でもCPUの占有率が両者では 大きく違ってきます。

パフォーマンス比較

では、どれだけ両者に違いがあるのか、実験してみましょう。

行う実験は、閉鎖されたLAN上でhttp通信を行い、通信速度と CPU占有率を測定するものです。

サーバー側ではcgiスクリプトから2.1Gbyteのデータを出力するものを 用意し、キャッシュは無効になるようにデチューンしてあります。 クライアント側ではwgetでCGIスクリプトを読みながら/dev/nullに捨てます。 それを5回繰り返し、平均DL速度とCPU占有率(uptime)を測定します。

LANカードは IntelのEtherExpressPro/100+ とPlanexのRealTek チップ搭載カードを同じマシンに 差して実験しました。

実験1 Realtek 8139C を使ってテスト実行

平均転送速度 : 8.41Mbyte/s
平均CPU占有率 : 0.94

実験2 Intel EtherExpress Pro/100+ 使ってテスト実行

平均転送速度 : 8.46Mbyte/s
平均CPU占有率 : 0.20

実験結果は上記の通り。特に説明は不用かと思いますが、 敢えて言わせて いただくと、8139Cは馬鹿です。 同じ作業をしていて5倍近くの大差が付いてしまいました。

今回行った実験では/dev/nullにデータを捨てていますが、 ディスクに保存していたらさらに差が出ていた事は明白ですね。

失敗しないカード選び

前述した通り、LANのパフォーマンスは搭載しているチップで決まります。 「有名メーカーのパッケージだから」といった幻想は捨てるべきです。 これから購入を検討する場合は、各社ウェブサイトや商品パッケージの 搭載チップ欄に充分気を遣って購入しましょう。

具体的な目安は、3000円以下の商品は避けた方が良いといった感じになります。

サーバー用途や広帯域を使う用途なら、既製サーバー機への搭載実績も豊富な、 Intel製品(実勢価格6000円強,バルクなら3000円弱)を選択しましょう。

# 私は Intel EtherExpress Pro/100+ を10枚づつまとめて買っています。

失敗談

  • Kernel2.2系でIntel用ドライバeepro100.oを使うとエライ目に遭います。
  • DECチップ搭載カードを使っていると、 リブートや電源投入直後に認識しなくなる事が多いです。
  • RealTekチップを使っているサーバーは簡単にオーバーフローで殺す事ができます。
  • RealTekチップのBSD用ドライバのソースには史上最悪のコントローラという表記がある。
  • VIAチップを搭載したカードはRealTek並のCPU占有率を誇る。
dum
border05 dum dum

(c) 2002 Princo.org