10Gigabit Ethernetでベンチマークする!

CodeZine / 2014年2月19日 14時0分

 本連載では3~5年先の未来に使われる技術を研究している、さくらインターネット研究所に蓄積された研究成果を元に、Webサービスで今後必要とされる技術ノウハウをご紹介いたします。今回は10Gigabit Ethernet NICを使ったベンチマーク手法について見ていきましょう。

■パケット/秒(PPS)を計測する

 はじめに、ネットワーク性能指標の一つであるパケット処理/秒(PPS:Packet Per Second)を測っていきましょう。ここでは「普及目前!10Gigabit Ethernetの世界を知る」の「パケット処理の限界性能」でご紹介した、pkt-genを搭載するPICOBSDイメージをトラフィック生成用として使います(図1)。

図1.PICOBSD with pkt-genブートUSB生成作業


 純粋なネットワーク性能を評価するため、10Gigabit Ethernetの接続はTwinaxケーブルを使い1対1のBack-to-Backとします。その上でpkt-genから送出されたパケットを、受信側のLinuxでvnstatでカウントします(図2)。

図2.pkt-genとvnstatを使ったネットワーク性能測定


 つづいて、pkt-genを使いパケットサイズを変更しながらネットワーク性能測定を行っていきましょう。Linuxの標準TCP/IPドライバは、パケットサイズにより性能低下があることが古くから知られています。その点を確認する意味でも、パケットサイズを64バイトから1500バイトまで変更しながら測定を行います(リスト1)。

リスト1.pkt-genとvnstatを使ったネットワーク性能測定とその手順
Login: admin Password: admin PICOBSD# pkt-gen -i ix0 -f tx -l 64 -d 10.10.11.2 -D 00:04:23:08:91:dc PICOBSD# pkt-gen -i ix0 -f tx -l 256 -d 10.10.11.2 -D 00:04:23:08:91:dc PICOBSD# pkt-gen -i ix0 -f tx -l 512 -d 10.10.11.2 -D 00:04:23:08:91:dc PICOBSD# pkt-gen -i ix0 -f tx -l 1024 -d 10.10.11.2 -D 00:04:23:08:91:dc PICOBSD# pkt-gen -i ix0 -f tx -l 1500 -d 10.10.11.2 -D 00:04:23:08:91:dc
LINUX# vnstat -l -i eth0
■10GbE H/W Offload NICという存在

 今回は補足として、10Gigabit Ethernetが持つ理論上の性能値を(10GbE Wire-rate)として記載しましたので、違いをご確認ください(図3)。ご覧のように、パケットサイズは256バイトを境界として、ワイヤ・レートとの差が見えています。

図3.標準的な10GbE-NICネットワーク性能とワイヤ・レート


 つぎに、具体的なHTTPトラフィックとパケットサイズを比較してみましょう(図4)。赤丸で示されたWebサイト上のアイコンは188バイトですが、それを取得するまでにかかったHTTPトラフィックが638バイトあります。これを先ほどの図3に当てはめると、ネットワーク性能はワイヤ・レート範囲で収まっていることが分かります。Webサービスを考えた際に、特別小さいメッセージのやり取りを除いて、ネットワーク性能にボトルネックが生じることはないと判断できます。

図4.HTTPトラフィックとパケットサイズの相関関係


 では、特別小さいメッセージのやり取りは、どのように処理すべきでしょうか? ここでは10Gigabit Hardware Offload NICについて、続けて解説します。今回用いたのはSolareflare社製のNICです(図5)。

図5.Solarflare社製 10Gigabit Ethernet Hardware Offload NIC


 このNICでは、TCPおよびIPなどのヘッダ処理をNIC内部で処理することで高速化を図っています。設定オプションなどは製造元のドキュメントをご参照いただきますが、特別な設定を行わずとも、スンナリ動きますのでご安心ください。前述と同じようにネットワーク性能測定(PPS)を行ったものが図6です。

図6.10GbE Hardware Offload NICネットワーク性能とワイヤ・レートの違い


 少々読みづらいところもありますが、64バイト付近の小さなパケット処理性能まで、しっかりとワイヤ・レートを叩き出しています。Solarflare社製の10Gigabit Ethernet Hardware Offload NICは、証券市場のHFT(High Frequency Trading:高頻度売買)に用いられている技術であり、まさに特殊用途に創られているという感じです。

 現代ではオンラインゲームでの小さなデータのやり取り、近い将来であればIoT(Internet of Things:モノのインターネット)など、小さいデバイスから発生する小さいメッセージを大量に受け取る場合に、これらが役に立つと考えられます。

 標準的な10GbE-NICであれ、Hardware Offload NICであれ、市場価格としてはDual Port NICがすでに$400を切る状況にありますので、システム仕様に応じて選択肢としてチョイスすると良いでしょう。



CodeZine

トピックスRSS

ランキング