2009年5月30日土曜日

iSCSIが遅かった理由

先日からiSCSI + ESXiの環境を組んでいたのだがiSCSIディスクアクセスの速度が妙に遅くて困った。1000Base-Tなのに120Mbps程度しか出ていない。明らかに異常なのでトラブルシューティングをしてみた。

環境:
  • iSCSI Target : D945CGLF2 + Realtek 8111D(オンボード), NetBSD 5 Xen DOMU上のiSCSI Target
  • iSCSI Initiator: Intel DQ45CB , Q8400, Intel 1000/PT (PCI-Express) ESXiをインストール
  • その他:Apple Macbook Late 2007, Marbell Yukon 2, Mac OS X 10.5をインストール
問題は、iSCSI Targetと Initiator間の速度が出ない事。

iSCSIでベンチマークを取るとディスクアクセスに性能が引っ張られてしまうので、今回はUNIX系ではおなじみのネットワーク帯域測定ツールのnetperfを使って速度を計測した。Macbookをサーバーとし、各マザーに色々なOSを入れて計測してみたところ以下のような結果になった。
D945CGLF2 + NetBSD 5 amd64 Xen DOMU :  120Mbps
D945CGLF2 + NetBSD 5 amd64 Xen DOM0 :  110Mbps
D945CGLF2 + NetBSD 5 amd64 Xen GENERIC Kernel : 440Mbps
D945CGLF2 + CentOS 5 amd64 Xen DOMU : 200Mbps
D945CGLF2 + Puppy Linux 4.2 i386: 840Mbps
DQ45CB(Intel 1000/PT) + Puppy Linux 4.2 : 680Mbps
うわぁ。120Mbpsってなんだよ....NetBSD Xenとの相性が最悪じゃん。コリャダメだ。ファイルサーバーをXenにしたのは間違いだったか。NetBSD 5 + Generic kernelでもあまり速くないし、NetBSDは全般的に遅めの傾向。iSCSI TargetはLinuxで組み直そうかな。

この中ではLinux + D945CGLF2が一番速い。CPU負荷が若干高くなるような気がするけど、これだけ速度に差があるとそれも許せてしまうかも。Realtekは悪い意味で有名だったけど少し考え直そう。枚数を用意するときはコレでもいいかも。

1 件のコメント:

匿名 さんのコメント...

もしかしてNetBSDのifのTSO系無効になってませんか?

とはいえXenのifはbridgeに入れるし、それはTSOが有効にできないので結果は変動しないかもですが