本連載では3~5年先の未来に使われる技術を研究している、さくらインターネット研究所に蓄積された研究成果を元に、Webサービスで今後必要とされる技術ノウハウをご紹介いたします。今回は10Gigabit Ethernet NICを使ったベンチマーク手法について見ていきましょう。
パケット/秒(PPS)を計測する
はじめに、ネットワーク性能指標の一つであるパケット処理/秒(PPS:Packet Per Second)を測っていきましょう。ここでは「普及目前!10Gigabit Ethernetの世界を知る」の「パケット処理の限界性能」でご紹介した、pkt-genを搭載するPICOBSDイメージをトラフィック生成用として使います(図1)。
純粋なネットワーク性能を評価するため、10Gigabit Ethernetの接続はTwinaxケーブルを使い1対1のBack-to-Backとします。その上でpkt-genから送出されたパケットを、受信側のLinuxでvnstatでカウントします(図2)。
つづいて、pkt-genを使いパケットサイズを変更しながらネットワーク性能測定を行っていきましょう。Linuxの標準TCP/IPドライバは、パケットサイズにより性能低下があることが古くから知られています。その点を確認する意味でも、パケットサイズを64バイトから1500バイトまで変更しながら測定を行います(リスト1)。
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バイトを境界として、ワイヤ・レートとの差が見えています。
つぎに、具体的なHTTPトラフィックとパケットサイズを比較してみましょう(図4)。赤丸で示されたWebサイト上のアイコンは188バイトですが、それを取得するまでにかかったHTTPトラフィックが638バイトあります。これを先ほどの図3に当てはめると、ネットワーク性能はワイヤ・レート範囲で収まっていることが分かります。Webサービスを考えた際に、特別小さいメッセージのやり取りを除いて、ネットワーク性能にボトルネックが生じることはないと判断できます。
では、特別小さいメッセージのやり取りは、どのように処理すべきでしょうか? ここでは10Gigabit Hardware Offload NICについて、続けて解説します。今回用いたのはSolareflare社製のNICです(図5)。
このNICでは、TCPおよびIPなどのヘッダ処理をNIC内部で処理することで高速化を図っています。設定オプションなどは製造元のドキュメントをご参照いただきますが、特別な設定を行わずとも、スンナリ動きますのでご安心ください。前述と同じようにネットワーク性能測定(PPS)を行ったものが図6です。
少々読みづらいところもありますが、64バイト付近の小さなパケット処理性能まで、しっかりとワイヤ・レートを叩き出しています。Solarflare社製の10Gigabit Ethernet Hardware Offload NICは、証券市場のHFT(High Frequency Trading:高頻度売買)に用いられている技術であり、まさに特殊用途に創られているという感じです。
現代ではオンラインゲームでの小さなデータのやり取り、近い将来であればIoT(Internet of Things:モノのインターネット)など、小さいデバイスから発生する小さいメッセージを大量に受け取る場合に、これらが役に立つと考えられます。
標準的な10GbE-NICであれ、Hardware Offload NICであれ、市場価格としてはDual Port NICがすでに$400を切る状況にありますので、システム仕様に応じて選択肢としてチョイスすると良いでしょう。
この記事は参考になりましたか?
- Webサービスのためのシステム・ベンチマーク入門連載記事一覧
-
- 10Gigabit Ethernetでベンチマークする!
- 10Gigabit Ethernet ケーブルとスイッチを理解する!
- 10Gigabit Ethernet NICドライバをインストールする
- この記事の著者
-
松本 直人(マツモト ナオト)
1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



