SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

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

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

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

 ここまでパケット処理性能に着目したネットワーク性能評価についてみてきました。次は「実行データ転送性能」についてみていきます。TPC/IPを介したデータ転送では、CPU・メモリ・ディスクなどの性能にも大きく左右されます。これらを極力排除するために今回はメモリ(DRAM)使ったRAMDISKをディスクとして、また10Gigabit Etherentの接続もTwinaxケーブルのBack-to-Backでデータの読み書きを行ってみました(図7)。

図7.thttpdとwgetを使ったネットワーク性能測定
図7.thttpdとwgetを使ったネットワーク性能測定

 今回は、Webサービス性能を見るため、thttpdwgetを使ってデータ転送性能を測ってみました。測定前の環境設定はリスト2をご参照ください。転送するデータは、あくまで参考なので、皆様のお手元にある手頃なデータをお使いください。

リスト2.データ転送性能での前準備(10GbE)
SERVER# mount tmpfs /ram -t tmpfs ; cd /ram
SERVER# dd if=/dev/zero of=/ram/DATA bs=1G count=15
SERVER# taskset 1 thttpd -d /ram 

CLIENT# mount tmpfs /ram -t tmpfs ; cd /ram
CLIENT# taskset 1 time wget http://X.X.X.X/DATA

 それでは性能測定の結果をみていきましょう(図8)。本来のネットワーク性能が10Gbit/secですが、データ転送に掛るネットワーク・アプリケーションやOS、標準TCP/IPネットワーク・ドライバなど、メモリ(DRAM)性能などすべてが重なり、5.58Gbit/secになっていることが分かります。このように、10Gigabit Ethernet NICを搭載したからといって、それだけでは純粋なデータ転送性能が引き出されるワケではないコトを理解しておきましょう。

図8.標準的な10GbE-NICのデータ転送性能
図8.標準的な10GbE-NICのデータ転送性能

 では、なぜそのようなことが言えるか。すこし脱線しますが、56Gbit/sec InfiniBandを用いたRDMA(Remote Direct Memory Access)によるデータ転送性能と10GbE-NICを比較して見ていきましょう。

 データ転送性能を測るにあたり、前提条件として図9を記載します。さきほどの環境との違いは、ネットワークが56Gbit/sec Infinibandに変更され、データ転送に用いられるアプリケーションとしてInfiniBandのRDMA機能を使ったrcopyに変更している点です。

図9.56Gbit/sec InfiniBandとrcopyを使ったネットワーク性能測定
図9.56Gbit/sec InfiniBandとrcopyを使ったネットワーク性能測定

 RDMAは、InfiniBandを介してお互いのメモリ空間上で直接データのやり取りを行えるもので、標準的なTCP/IPネットワーク・ドライバなどのボトルネックを排除しています。具体的な使い方はリスト3に記します。InfiniBandやrcopyについての解説は省略しますが、詳細はhttp://www.openfabrics.org/をご参照ください。

リスト3.データ転送性能での前準備(InfiniBand)
SERVER# mount tmpfs /ram -t tmpfs ; cd /ram
SERVER# dd if=/dev/zero of=/ram/DATA bs=1G count=15
SERVER# taskset 1 rcopy

CLIENT# mount tmpfs /ram -t tmpfs ; cd /ram
CLIENT# taskset 1 time rcopy /ram/DATA  X.X.X.X:/ram/DATA

 それでは、データ転送性能の結果を見ていきましょう。ネットワーク帯域が10Gbit/secから56Gbit/secへと変化していますし、MTUサイズも1500から65520へと大きくなっている点、さらに標準的なTCP/IPネットワーク・ドライバを介さないRDMA機能という点を差し引いても、まったく同じシステムがここまでの性能を引き出せるようになります。

 ここから得られる教訓は、ネットワークやアプリケーションをニーズに合わせて変更すると、システムが本来持っているポテンシャルを最大限引き出すことができるということです。40GbE-NICや100GbE-NICなど、今後は高速化・広帯域化するネットワーク技術が出てきます。自ら選ぶシステムとネットワーク環境の在り方、さらに旧来から使っているアプリケーションにボトルネックはないか?など、さまざな視点で注意深く見ていく目がシステムエンジニアには必要とされます。

 さて、ここまで10Gigabit Ethernetを取り巻く最新動向を見てきました。今回で「Webサービスのためのシステム・ベンチマーク入門」は最後です。短い連載でしたが、手頃で入手しやすくなった10GbE-NICを、読者の皆様もぜひお試しいただければと思います。今後も皆様とさまざまな最新技術情報を共有していきたいと考えておりますので、またの機会がございましたら、ぜひお読みください。

 それでは、ありがとうございました。

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Webサービスのためのシステム・ベンチマーク入門連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7631 2014/02/19 14:00

イベント

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

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

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

メールバックナンバー