「モバゲータウン」のアクセス増を乗り切ったことで、学んだことがある。それはシステムのキャパシティープランニングだ。そこで、今回と次回の2回に分けて、ネットワーク機器のキャパシティープランニングについて解説する。今回は技術編で、次回は計画編である。

 ネットワーク機器はサーバー機に比べ、比較的管理に手間がかからない。導入してからは放っておいても、特に問題なく動作する場合が多い。しかし、ネットワーク機器がひとたびボトルネックに陥ると非常に困った事態になる。「メンテナンス中です」というページをユーザーに届けることすらできなくなることもあるからだ。

 また、ネットワーク機器のアプライアンスは特定の処理に特化し、高いパフォーマンスを発揮する。だが、中身がブラックボックスなので、問題が発生すると自分たちで対処するのは困難という欠点がある。

 ネットワーク機器に対しては、いつごろ、どの機器が限界に達しそうなのかを常につかんでおくことが重要になる。そのためには、(1)通常監視において自社ネットワーク機器の特性をつかみ、(2)トレンド管理とともに限界値を把握する、ということが求められる。この二つのポイントを解説する。

(1)通常の監視ポイント

 いつごろ、どの機器がボトルネックになりそうなのかをつかむには、基礎となる数字が必要である。それは、通常のネットワーク監視においてつかんでおくもので、ひと言で言えば「特性」をつかむということだ。だが、これは簡単なことではない。筆者は自社ネットワークの特性をつかむ際、「機器に負荷を与える要素」と「ネットワーク機器の限界を決める要素」の二つの観点を常に意識している。

機器に負荷を与える要素

トラフィック流量(ビット/秒)上り/下り
 モバゲータウンのようなWebサイトの場合、下り通信(Webサイト→ユーザー)の方が帯域が広いので、下り通信を中心に管理するのが通常である。しかし、機器によっては上下トラフィックの合計が性能指標になっていたり、上下比率の変化がサイト内の何らかの問題・変化を表しているケースもあるので、上下それぞれの通信を監視する。

インバウンド/アウトバウンド
 インバウンドは外部(通常はユーザー)からセッションを開始する通信、アウトバウンドはサーバー側からセッションを開始する通信を表す。例を挙げると、前者はユーザーからWebサイトへのアクセスであり、後者はWebサイトからユーザーにメールを送信するような場合である。インバウンド通信とアウトバウンド通信とで経路を変えて分散させる場合は、インバウンド/アウトバウンドの流量を把握しておく必要がある。

同時セッション数
 同時セッション数は、ファイアウォールと負荷分散機で特に重要な指標となる。ステートフルな処理を行う機器は、少なくともTCPセッションが完了するまでセッション情報を保持しておく必要がある。ここでのポイントはメモリーサイズで、セッション情報を保持するメモリー量が十分確保されているかどうかが重要になる。機器によって挙動は異なるが、メモリー不足になるとセッション情報がドロップされたり、挙動が不安定になったりする。

平均パケット長
 平均パケット長は、携帯電話向けのコンテンツで特に重要な指標である。ネットワーク機器のスペック表にある上限トラフィック量は、パケット長が長く、(高い性能が出やすい)UDPを使ったケースを想定している場合がある。PC向けのコンテンツは1500バイトを大きく超えることが多く、ネットワーク機器の限界スペックに近い性能が出やすい状況である。

 それに対して携帯電話向けのコンテンツの場合、端末の通信速度がPCに比べて遅いことや、画面が小さいことなどから、コンテンツをコンパクトに作る傾向がある。PC向けに比べて性能が低くなる状況だということだ。大まかな平均パケット長は、トラフィック量とページビュー数から計算で求めることができ、このレベルの計算でもキャパシティープランニングを行う際には大いに役立つ。