10Gbit Etherのベンチマーク

かなり興味深いベンチマークがあったので、メモ。

http://it.anandtech.com/IT/showdoc.aspx?i=3759

結論
  • 仮想化するなら10GbEという選択肢は十分ありえる。価格もこなれてきた。
  • その場合はNetqueue対応したものが必須。ただしドライバがこなれていないので、提供されているドライバで十分に性能を引き出せるかどうかを検証する。
  • コストパフォーマンスでみると 1GbE x 4 のNICでチーミングするのも良い。ただし、仮想化環境ではCPU loadが高くなる。
  • NICの消費電力もバカにならないので、検討の対象に入れる。10Gは、やや消費電力高め。
前提 (リンク先の1ページ目)
  • 消費電力の話。初期の10GbEはポートあたり15Wもの消費電力だった。最近は2ポートのカードで6Wくらい。ちなみに1Gbitはポートあたり0.5W
  • 仮想化するとVMM側でパケットの振り分け処理をするので、NW使用時のCPU負荷が高くなる。NICに仮想化対応のものを利用すると、CPUの負荷を軽減することができる。
環境 (2ページ目)
  • スイッチの影響を無視するため、マシン-マシンの直通で計測
  • 計測サーバのスペックは以下の通り(抜粋)
    • Dual AMD Opteron 8389 “Shanghai” at 2.9GHz
    • Supermicro H8DMU+ Motherboard
    • NVIDIA MCP55 Pro Chipset
    • 8x2GB of Kingston DDR2-667 Value RAM CAS 5
  • ネイティブ利用時のOSはCentOS 5.4(kernel 2.6.18)、VM使用時のハイパーバイザは VMware ESX4
  • 試験対象のNICが古い(2008年リリース)ので、最新の状況とは異なる
ベンチマーク(3ページ目)
  • 10GbEのネイティブ利用だと、5Gbps以下の速度しか出ず、50%も性能を引き出せない。CPU負荷は2.5% - 6% とわずか。
  • 1GbEは理論値に近い性能が出るので、こちらの方がコストパフォーマンスは高い。1G x 4 で 4Gbpsと10Gのベンチマークスコアに匹敵する。
ベンチマーク(4ページ目)
  • Netqueue利用しないと10GbEのカードで5.4Gbps - 6Gbps程度の性能。その際のCPU使用率は25-35%。CPUのうち2-3coreをNW処理用に潰している形になる
  • Netqueueを利用すると10GbEでも理論値に近い転送速度が出る。CPU負荷も15%程度まで低下する。
  • 同じ10GでもSupermicro NICの方が性能が良く、Neterionの方が悪いが、これはドライバの問題だと思われる
  • 10G NICは2ポートのものが$450-$550。4ポートの1G NICはその半分位の価格。
  • 10Gポートを2ポート、1Gポートを24ポート備えたスイッチが、$1500-$3000くらい。