パフォーマンス チューニングについて

ユーザーが満足できる環境を提供するには、サーバーのパフォーマンスを最適化しておく必要があります。ハードウェアの要件は、提供するサービスによって異なります。たとえば、FTP サービスは、Web サービスほどメモリを使用しません。また、Active Server Pages (ASP) アプリケーション、Common Gateway Interface (CGI) スクリプト、データベース クエリ、およびビデオ ファイルは、静的 HTML ページに比べてプロセッサを多く使用します。トラフィックやサイトのコンテンツに変化があれば、パフォーマンスも常に変化します。パフォーマンスを効率的にチューニングするには、サーバー管理者はさまざまなツールを使用した監視計画を立てる必要があります。

ここでは、次の項目について説明します。

周期的なテストとチューニング

パフォーマンスのテストおよびチューニングは継続的プロセスです。効率的にテストおよびチューニングを行うには、評価方法の計画から始める必要があります。まず、パフォーマンスの現在のレベルを測定します。サーバーのパフォーマンスは時間によってかなりの差があるため、サーバーの利用状況の正確な現状を測定するには、十分な期間にわたって監視する必要があります。

サーバーのパフォーマンスを向上させるためには、潜在的なボトルネックがないかどうかシステムのあらゆる部分を調べます。ボトルネックは、構成が不適切なハードウェアや、IIS または Windows XP におけるソフトウェアの設定が原因で発生することがあります。十分な監視計画を立て、あらゆる領域のパフォーマンスを調査します。

サーバーのパフォーマンスの状況を把握した後、パフォーマンスを向上させるための変更を開始できます。変更する場合は、一度に 1 か所のみを変更するようにします。一度に複数の変更を実行すると、複数の変更点の影響を評価することが困難になるためです。

変更があるたびに、変更した結果のパフォーマンスが期待どおりか、予期しない悪影響を及ぼしていないかを確認します。あるリソースに対して行った変更が、別の領域でボトルネックを発生させる可能性があるため、変更を行った後は、すべてのリソースのパフォーマンスを確認する必要があります。変更の影響の評価を終えた後、さらに変更を行う必要があるかどうかを判断します。

パフォーマンスの監視に使用するツール

サーバーの監視は、サーバー管理の中でも特に重要な部分です。適切な監視ツールを使うことで、Web サーバーの問題を検出し、Web サイトのコンテンツの変更結果を評価し、ユーザーがアクセスしやすい Web サイトにするためのアップグレードを計画することができます。

最適な監視ツールおよび監視方法は、必要とする情報によって異なります。たとえば、Web サーバー全体の負荷を測定する場合は、パフォーマンス モニタを使って 1 週間のグラフを作成し、接続したコンピュータ数やファイル転送の回数などの情報を調べます。サーバーのパフォーマンスが低下していることに気付いた場合は、Windows XP が生成するログを表示するためのツールであるイベント ビューアで、エラーを確認します。

IIS が生成するログを調べ、サーバーの状況を監視することもできます。IIS のログは Windows XP で生成されるログよりも広範な情報を収集できます。ログ収集の詳細については、「サイトの利用状況のログを収集する」を参照してください。

Windows XP で使用できる次の監視ツールでは、逐次情報と要約情報の両方が提供されます。

Windows XP に組み込まれたツールに加え、そのほかのパフォーマンス監視ツールも使用できます。詳細については、「パフォーマンスとセキュリティをテストする」を参照してください。

パフォーマンス モニタ

強力な MMC スナップインであるパフォーマンス モニタを使うと、サーバーの使用状況を監視し、指定した間隔ごとにサーバーのパフォーマンスを集約できます。パフォーマンス データのグラフやレポートのリアル タイムでの表示、ファイルへのデータ収集、重要なイベントの発生による警告の生成ができます。このデータを使用することで、システムにおけるボトルネックの原因を特定したり、システムおよびアプリケーションのパフォーマンスを細かく調整できます。

パフォーマンス モニタには、次の 3 通りの起動方法があります。

パフォーマンス モニタは、特定の "パフォーマンス オブジェクト" の活動を監視する "パフォーマンス カウンタ" の出力を調べます。"パフォーマンス オブジェクト" とは、サーバーのリソースを制御する特定のサービスまたはメカニズムのことです。たとえば、パフォーマンス モニタのプラス記号 (+) をクリックした場合、Web Service というパフォーマンス オブジェクト、および 1 秒あたりの受信バイト数や接続試行回数などを監視するカウンタの一覧が表示されます。このウィンドウからは、パフォーマンス モニタの画面に対してカウンタの追加や削除をしたり、特定の方法でカウンタを記録するように設定することができます。多数のカウンタを同時に実行すると、パフォーマンスがわずかに低下することがあります。実行するカウンタを限定することが必要です。 

Windows XP には、ディスクの使用状況や TCP の動作状態を監視するものも含め、さまざまなカウンタがあります。IIS では、Web サービス カウンタ、FTP サービス カウンタ、Active Server Pages アプリケーション カウンタ、IIS グローバル カウンタなどの専用カウンタがインストールされます。Web サービス カウンタ、FTP サービス カウンタ、および Active Server Pages オブジェクト カウンタは、スクリプトの接続状態を監視するためのものです。一方、IIS グローバル カウンタは、すべての IIS サービスについて帯域幅の使用状況やキャッシュ処理状況を監視するためのものです。通常、カウンタでは量、数、期間などの観点から計測します。表示するカウンタを選択する際は、この点に留意してください。

パフォーマンス モニタは、サーバーやサイトの負荷に関する短期および長期の両方の情報を提供するように設計されています。次の表は、サーバーの監視に役立つパフォーマンス モニタのカウンタの一覧です。各カウンタの理想的な平均値も示します。パフォーマンス モニタのグラフは、0 〜 100 の間で目盛が作成されます。小さな値を記録する個々のカウンタに対しては、目盛を変更する必要もあります。 

オブジェクト: カウンタ理想値
Memory\Pages/sec0 〜 20 (80 を超える場合は問題があることを示します)。
Memory\Available Bytes20 MB 以上。
Memory\Committed Bytes物理メモリ容量の約 75% 以下。
Memory\Pool Nonpaged Bytes一定 (緩やかな上昇は、メモリ リークの可能性を示しています)。
Processor\% Processor Time75% 未満。
Processor\Interrupts/secプロセッサによって異なります。486/66 プロセッサの場合は、1,000 以下、Pentium 90 MHz の場合は 3,500、Pentium 200 MHz の場合は 7,000 以上。この数値はできるだけ小さい方が理想的です。
Processor\System Processor Queue Length2 以下。
(Logical or Physical) Disk \ % Disk Timeできる限り小さい値。
(Logical or Physical) Disk \ Avg.Disk Queue Length2 未満。
(Logical or Physical) Disk \ Avg Disk Bytes/Transferできる限り大きい値。
Internet Information Services Global\File Cache Hits %できる限り大きい値。ただし、この値はサイトのコンテンツに依存する。
Web Service\Bytes Total/secできる限り大きい値。
Active Server Pages\Request Wait TimeASP\Request Execution Time
Active Server Pages\Requests Queued0。
Active Server Pages\Transactions/secできる限り大きい値。

パフォーマンス モニタの使用方法の詳細については、Windows XP のマニュアルを参照してください。IIS が提供するカウンタの一覧については、「カウンタ リファレンス」を参照してください。

イベント ビューア

Windows XP には、サービスに関するエラーや起動成功などのイベントを記録するイベント ログ収集サービスが用意されています。記録されたイベント ログは、イベント ビューアで表示します。イベント ビューアを使用して、システム、セキュリティ、およびアプリケーションのイベント ログを監視できます。ログの情報を調べることで、パフォーマンスにかかわる特定の問題をもたらしたイベントのシーケンスと種類について、詳しい情報を得ることができます。イベント ビューアの使用方法の詳細については、Windows XP のマニュアルを参照してください。

タスク マネージャ

タスク マネージャを使用して、実行中のタスクおよびスレッドを表示します。また、プロセスに割り当てられた優先順位を変更する際にも使用できます。ただし、プロセスが完了すると、新しく割り当てた優先順位は無効になります。CPU やメモリの使用状況をリアル タイムで表示できますが、この情報は保存されません。タスク マネージャの使用方法の詳細については、Windows XP のマニュアルを参照してください。

ネットワーク モニタ

ネットワーク モニタは、コンピュータ間でやり取りされるトラフィックの情報をキャプチャし、送受信されるフレームについての詳細な情報を提供します。このツールを使うと、ネットワーク トラフィックの複雑なパターンを分析できます。ネットワーク モニタを使用することで、サーバーへの HTTP 要求や FTP 要求に含まれているヘッダー情報を表示できます。通常は、データベースのクエリのような機能を持ち、伝送されるフレームのサブセットを選択する、キャプチャ フィルタを設計する必要があります。また、実行可能ファイルの起動などのアクションを開始することによって、ネットワーク上で発生するイベントに応答する "キャプチャ トリガ" を使用することもできます。Windows XP の一部のバージョンには、ネットワーク モニタの簡易版が付属しています。Systems Management Server には、ネットワーク モニタの完全版が付属しています。ネットワーク モニタの詳細については、Windows XP のマニュアルおよび『Windows リソース キット』を参照してください。

ディスクの最適化

ハード ディスクのボトルネックは、ランダムにアクセスされる大きなファイル セットのあるサイトで最も頻繁に見られます。IIS がハード ディスクにアクセスする頻度は、RAM の容量、および要求されたファイルの数とサイズに直接関係します。大量のファイルや大きいサイズのファイルが要求された場合に、RAM の容量が小さいと、IIS はファイルのコピーを RAM に保管してアクセスを高速にすることができません。この場合、IIS はハード ディスクからファイルを取得しなければなりません。IIS が要求されたファイルの取得に要する時間は、ハード ディスクのアクセス速度と容量によって異なります。

ディスク ドライブを監視するには、パフォーマンス モニタを使用して CPU の使用率、ネットワーク カードの飽和状態、および Physical Disk オブジェクトの % Disk Time カウンタをログに記録します。% Disk Time カウンタの値が大きく、CPU およびネットワーク カードの使用率が小さい場合は、ディスク ドライブがボトルネックになっています。Physical Disk の % Disk Time カウンタの詳細については、Windows XP のマニュアルを参照してください。

ディスク アクセスを向上させるには、RAID を使用して、ハードディスクをストライプ セットに構成します。サーバーを主にデータベースとして使用している場合は、メモリ、CPU、およびディスク リソースに関してデータベースと IIS が競合することになるため、最新バージョンの適切な Windows のサーバーを別のコンピュータで実行することを検討してください。Windows XP をデータベース サーバーと同じコンピュータで実行するのであれば、アクセス遅延を最小にとどめるためのギガバイト単位の RAM か、または RAM キャッシュが大きいドライブ コントローラが必要です。あるドライブが機能しなくなった場合に、バックアップ コピーから復元しなくてもよいように、冗長性も必要です。多くの新しいコントローラでは "ホット スワッピング" を使用でき、これによってドライブで障害が発生した場合に、サーバーを停止せずに別のドライブに置き換えることができます。このような環境であっても、バックアップをとること、同じデータを別のドライブ上でも管理することなどをお勧めします。


© 1997-2001 Microsoft Corporation.All rights reserved.