SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Webサービスのためのシステム・ベンチマーク入門

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

Webサービスのためのシステム・ベンチマーク入門(4)

  • このエントリーをはてなブックマークに追加

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

  • このエントリーをはてなブックマークに追加

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

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

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

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

図2.pkt-genとvnstatを使ったネットワーク性能測定
図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ネットワーク性能とワイヤ・レート
図3.標準的な10GbE-NICネットワーク性能とワイヤ・レート

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

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

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

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

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

図6.10GbE Hardware Offload NICネットワーク性能とワイヤ・レートの違い
図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を切る状況にありますので、システム仕様に応じて選択肢としてチョイスすると良いでしょう。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
データ転送性能(Gbit/sec)を計測する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Webサービスのためのシステム・ベンチマーク入門連載記事一覧

もっと読む

この記事の著者

松本 直人(マツモト ナオト)

1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7631 2014/02/19 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング