true;});前のページへ1|2現状の測定(ベンチマーク)と結果の着眼点ここからはApacheに着目して、パフォーマンス・チューニングのための準備を行う。チューニングするに当たって、まず現状を十分に分析し、具体的な目標を定めることから始めたい。目標をどれだけ具体化するかはともかくとしても、現状を数値的に知りもせずに、漠然と「遅い遅い」と騒いでいても仕方がない。現状を数値的にとらえるにはツールが必要となる。いわゆるベンチマーク・ツールだ。Bench)というツールが付属している。URLのように、オプションとテストを実行するURLを指定する。http://172.16.1.2/index.html認証が必要なコンテンツでのテストabのオプションは、基本的に「同時接続数」と「リクエスト数」を指定する(具体的なオプションは表1を参照)。同時接続数を100、リクエスト数を10000とすれば、同時に100のリクエストが発生したときに、10000リクエストを処理するまでの性能が測定されるわけだ。abのオプションab実行時のサンプルをリスト1、リスト2に示すが、ここで問題となるのは次の3点である。●abを実行するコンピュータの位置abがインストールされているコンピュータとなると、まずはWebサーバそのものということになるだろう。Webサーバでの実行は、効果測定に適しているとはいい難い。それは計算時間を測定しているだけであって、接続に要する時間などを測定できるわけではないからである。abは、少なくともWebサーバとは別のコンピュータで実行したい。できれば、ルータの直前か直後(図1)がいいだろう。することで、より現実的なパフォーマンスを測定できるからである。●発生させる同時接続数量リクエスト数はサンプリング数量だから、あまり多過ぎない程度に大きめの値を指定すればいい。それに対し、同時接続数の指定は慎重に選択したい。そのWebサーバへの同時接続数があらかじめ予測できるようであれば、その数値の前後30%程度の範囲で測定すればいいだろう。予測がつかない場合は広い範囲で測定するしかないが、どちらにしても同時接続数の限界を測るのも重要なポイントの1つだ。1台のコンピュータが発生させられる同時接続数についても注意したい。高性能なUNIXサーバに対して測定する場合、相当な数の同時接続を発生させる必要がある。普通のPCサーバで発生させられる同時接続数には、おのずと限界がある。従って、複数台のコンピュータにabを入れて測定しなければならない。1台のコンピュータでこなせる数だとしても、複数台での測定も試してみることを勧める。●リクエストするURL最後に、リクエストするURLであるが、これも十分に検討するべき項目だといえる。先にも述べたとおり、1つのWebページを表示するには、HTMLファイルとともに画像ファイルなども必要になる。abは単一かつ同一のファイルをリクエストすることしかできない。これは、Webサーバにとって有利な条件での測定となってしまう。そこで、複数台のコンピュータから、それぞれ別なファイルをリクエストするなどの工夫をしてみたい。リクエストするファイルの容量によって、どのような変化があるかなども、測定してみるといいだろう。静的なファイルだけでなく、プログラムを実行して作成されるページへのリクエストも測定したい。これも、単純なプログラムから、複雑なプログラムまで測定しておく。どんな場合でもいえることだが、さまざまなパターンの測定を、より多く集めた方が、結果の分析も多角的に行えるものである。動的なコンテンツ(JSP)へのテスト(同時100接続で10000リクエストを処理)。測定結果の分析abの結果(リスト1、リスト2)の中で、着目すべき項目は次のとおりだ。利用するabのバージョンによっては表示内容が異なり、項目が存在しないこともある。abだけでも最新のものを使うといいだろう。その場合は、Apacheの最新版を入手して全体をコンパイルし、abだけを取り出して置き換えればいい。requests)abで発生させたリクエストがすべて成功していればいいが、一部が失敗するようならWebサーバの処理が追い付いていない。これは、特にプログラムを実行してページを生成する場合に起こりやすく、同時接続数の限界を超えていると考えるべきだろう。second)Webサーバのベンチマークで、最も重視されるのがこの項目である。CPUのMIPSやデータベースのTPCと同じく、1秒間にどれだけ処理できたかが重要な数値になる。ち時間の内訳(Connect/Processing/Waiting)これらの項目は、測定したリクエスト全体でのばらつきやリクエスト当たりの処理の内訳を見極めるために用いる。rate)を見て、ネットワーク環境の実効速度よりも遅いようであれば、ネットワーク環境のチューニングも考慮する。ネットワーク環境の実効速度は、そのネットワーク経路上の最も細い回線の60%程度とみればよい。経路の一部に10BASE-Tが交じっていれば6Mbit/秒程度、100BASE-TXが交じっていれば60Mbit/秒程度とみる。これらを総合的に見て、Webサーバの処理限界やチューニングのポイントを見極める。その見極めから目標を定め、チューニングを施していくわけだ。次回は、今回の内容を踏まえたうえで、チューニングのポイントを具体的に紹介する。メールマガジンをご購読ください。Japanスマートジャパン3Dモデラボキャリア@IT自分戦略研究所エンジニアライフディルバートアプリITmediaねとらぼねこらぼついトピ!ITmediaはアイティメディア株式会社の登録商標です。