データ転送性能(Gbit/sec)を計測する
ここまでパケット処理性能に着目したネットワーク性能評価についてみてきました。次は「実行データ転送性能」についてみていきます。TPC/IPを介したデータ転送では、CPU・メモリ・ディスクなどの性能にも大きく左右されます。これらを極力排除するために今回はメモリ(DRAM)使ったRAMDISKをディスクとして、また10Gigabit Etherentの接続もTwinaxケーブルのBack-to-Backでデータの読み書きを行ってみました(図7)。
今回は、Webサービス性能を見るため、thttpdとwgetを使ってデータ転送性能を測ってみました。測定前の環境設定はリスト2をご参照ください。転送するデータは、あくまで参考なので、皆様のお手元にある手頃なデータをお使いください。
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を搭載したからといって、それだけでは純粋なデータ転送性能が引き出されるワケではないコトを理解しておきましょう。
では、なぜそのようなことが言えるか。すこし脱線しますが、56Gbit/sec InfiniBandを用いたRDMA(Remote Direct Memory Access)によるデータ転送性能と10GbE-NICを比較して見ていきましょう。
データ転送性能を測るにあたり、前提条件として図9を記載します。さきほどの環境との違いは、ネットワークが56Gbit/sec Infinibandに変更され、データ転送に用いられるアプリケーションとしてInfiniBandのRDMA機能を使ったrcopyに変更している点です。
RDMAは、InfiniBandを介してお互いのメモリ空間上で直接データのやり取りを行えるもので、標準的なTCP/IPネットワーク・ドライバなどのボトルネックを排除しています。具体的な使い方はリスト3に記します。InfiniBandやrcopyについての解説は省略しますが、詳細はhttp://www.openfabrics.org/をご参照ください。
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を、読者の皆様もぜひお試しいただければと思います。今後も皆様とさまざまな最新技術情報を共有していきたいと考えておりますので、またの機会がございましたら、ぜひお読みください。
それでは、ありがとうございました。




