ここに取り上げたパフォーマンス カウンタは、一般的なシステム状況のチェック、およびパフォーマンス基準との比較判断に役立ちます。これらのパフォーマンス カウンタを約 60 分間実行して、1 分から 3 分の更新間隔を取ります (この間隔は、カウンタ ログの [プロパティ] パネル、またはパフォーマンス設定パネルおよび画面で設定します)。
メモリ使用率の監視
¥Memory¥Available Mbytes |
---|
注: メモリ不足は、SQL Server バッファ キャッシュの効果を低下させます。 |
説明 : Available MBytes カウンタは、コンピュータ上で実行するプロセスが使用可能な物理メモリの容量を、メガバイト (1 メガバイトは 1,048,576 バイト) 単位で表します。この容量は、Zeroed、Free、 Stand by の各メモリ リストにある空間を合計して算出します。Free メモリはすぐに使用できる空間です。Zeroed メモリはゼロでクリアされたメモリ ページで、前のプロセスが使用したデータを後のプロセスに参照させません。Stand by メモリは、プロセスの作業セット (プロセスの物理メモリ) からディスクへのルートに削除されたメモリですが、再利用できます。このカウンタは、平均値ではなく最後にチェックされた値を表示します。 |
¥Memory¥Pages/sec |
---|
注: 0 に近いほど適正なレベルです。 |
説明 : Pages/sec は、ハード ページフォルトを解決するためにディスクとの間で読み書きされるページの数を表します (ハード ページフォルトは、プロセスにおいて必要なコードまたはデータが作業セットまたは物理メモリの他の場所にも存在せず、ディスクから取得しなければならないときに発生します)。このカウンタは、システム全体の遅延を招くページフォルトを示す主要なインジケータとして設計されました。その値は、Memory: Pages Input/sec と Memory: Pages Output/sec との合計です。値はページ数によるカウントであるため、変換作業を伴うことなく、Memory: Page Faults/sec などの他のページ カウント値と比較することができます。このカウンタ値は、キャッシュされずにマップされるメモリがファイルするファイル システム キャッシュ (通常アプリケーションが要求) におけるページフォルトを処理するために取得されたページを含みます。このカウンタは、最後の 2 つのサンプリング値の差をサンプル期間の長さで割った値を表示します。 |
¥Memory¥Cache Faults/sec |
---|
注 : |
説明 : Cache Faults/sec は、ファイル システム キャッシュで要求されるページがそこになく、メモリの他の場所 (ソフトページフォルト) またはディスク (ハードページフォルト) から取得しなければならないときに発生するページフォルトの数を表します。ファイル システム キャッシュは、最近使用したアプリケーションのデータ ページを格納する物理メモリ領域です。キャッシュの利用状況は、多くのアプリケーション入出力機能の信頼できるインジケータとなります。このカウンタは、各動作のページフォルト数に関わりなくページフォルト数をカウントします。 |
¥Memory¥Page Faults/sec |
---|
注 : |
説明 : Page Faults/sec は、プロセッサがページフォルトを処理する全体の割合を表し、その値は秒あたりに発生するページフォルト数で測定します。ページフォルトは、作業セット (物理メモリにあるプロセスの空間) にないコードまたはデータをプロセスが必要とするときに発生します。このカウンタは、ハードページフォルト (ディスク アクセスを必要とするページフォルト) およびソフトページフォルト (ページフォルトが物理メモリの他の場所に検出される) の両方を含みます。多くのプロセッサは、影響が表面化しないようにソフトページフォルトの多くに対処しますが、ハードページフォルトの場合は著しい遅延の原因になります。このカウンタは、最後の 2 つのサンプリング値の差をサンプル期間の長さで割った値を表示します。 |
CPU 使用率の監視
¥Processor(_Total)¥% Processor Time |
---|
注 : 75% 未満が適正です。 |
説明 : % Processor Time は、プロセッサがアイドル以外のスレッドを実行する時間のパーセンテージを表し、プロセッサの利用状況を示す主なインジケータとして使用できます。この値は、それぞれのサンプル期間でアイドル プロセスのスレッドを実行するためにプロセッサが費やす時間を測定し、その値を 100 パーセントから差し引いて算出します (各プロセッサにはアイドル スレッドがあり、待機中のスレッドが他にないときサイクルを消費します)。この値は、有意義な仕事に費やされるサンプル期間のパーセンテージとして見ることができます。このカウンタは、サンプル期間に見られるビジー時間の平均パーセンテージを表示し、サービスがアクティブでない時間をモニタリングしてその値を 100 パーセントから差し引いて算出します。 |
¥Processor(_Total)¥Interrupts/sec |
---|
注 : |
説明 : Interrupts/sec は、プロセッサに対して発生しプロセッサが処理するハードウェア 割り込みの秒あたりの平均数です。このカウンタは、別途カウントされる DPC (遅延プロセスコール) を含みません。示される値は、システム クロック、マウス、ディスク ドライバ、データ通信回線、ネットワーク インターフェイス カードといった周辺機器など、割り込みを発生する機器の利用状況を間接的に示すインジケータとしても使用できます。通常これらの機器は、タスクの完了時または何らかのイベントが発生したとき、プロセッサに対する割り込みを発生します。割り込みが発生すると、通常のスレッド実行が一時停止します。多くのシステム クロックは、10 ミリ秒ごとにプロセッサに割り込み、割り込み状態のバックグラウンドを作り出します。このカウンタは、最後の 2 つのサンプリング値の差をサンプル期間の長さで割った値を表示します。 |
¥Process(sqlmangr)¥% Processor Time |
注 : |
説明 : % Processor Time は、そのプロセスのすべてのスレッドがプロセッサを使い命令を実行するのに経過した時間のパーセンテージを表します。1 つの命令は、コンピュータの処理実行の基本単位であり、スレッドは命令を実行するオブジェクト、そしてプロセスはプログラム実行時に作成されるオブジェクトです。このカウントには、ハードウェア割り込みおよびトラップ状態を処理するために実行するコードが含まれます。マルチプロセッサ マシンでは、このカウンタの最大値は 100 パーセントにプロセッサ数をかけた数値です。 |
¥System¥Processor Queue Length |
---|
注 : プロセッサあたり 2 未満が適正です。 |
説明 : Processor Queue Length は、プロセッサ待ち行列にあるスレッド数を表します。マルチプロセッサのコンピュータでも、プロセッサ タイムの待ち行列は 1 つです。disk カウンタとは異なり、このカウンタは待機中のスレッドのみをカウントし、実行中のスレッドはカウントしません。3 つ以上の スレッドを含む状態が続くプロセッサ待ち行列は、一般的にプロセッサの過密状態を表します。このカウンタは、平均値ではなく最後にチェックされた値を表示します。 |
System¥Context switches/sec |
---|
注 : 15000 未満が適正です。 |
説明 : Context Switches/sec は、コンピュータ上のすべてのプロセッサが、あるスレッドから別のスレッドに切り替わる割合を合わせた数値です。コンテキスト スイッチは、自発的にプロセッサを放棄した実行中のスレッドが、より高い優先順位の待機中のスレッドによって差し替えられるとき、またはユーザー モードおよび特権 (カーネル) モードの間で切り替わり Executive またはサブシステム サービスを使用するときに発生します。この値は、コンピュータにあるすべてのプロセッサで実行するスレッドすべての Thread: Context Switches/sec カウンタ値の総和となり、切り替わった数によって測定します。System および Thread オブジェクトには、コンテキスト スイッチ カウンタがあり、このカウンタは最後の 2 つのサンプリング値の差をサンプル期間の長さで割った値を表示します。 |
¥Processor(_Total)¥% Privileged Time |
注 : Total User Time の 15% 未満が Privileged Time の適正値です。 |
説明 : % Privileged Time は、特権モードで費やされるアイドル以外のプロセッサ時間のパーセンテージを表します (特権モードは、オペレーティング システムのコンポーネントおよびハードウェア対応ドライバに合わせて設計されたプロセッシング モードです。このモードではハードウェアおよびすべてのメモリに直接アクセスできます。もう 1 つのモード、ユーザー モードは、アプリケーション、環境サブシステム、総合サブシステムに合わせて設計された、制限付きプロセッシング モードです。オペレーティング システムは、アプリケーション スレッドを特権モードに切り替えてオペレーティング システムのサービスにアクセスします)。% Privileged Time は、割り込みおよび DPC (遅延プロセスコール) に対処する時間を含みます。privileged time の割合が高い場合、障害をともなう機器によって発生した多数の割り込みが原因である可能性があります。このカウンタは、平均ビジー時間をサンプル時間のパーセンテージとして表示します。 |
ディスク利用状況の監視
¥PhysicalDisk()¥% Disk Time |
---|
注 : |
説明 : % Disk Time は、選択したディスクが読み取りまたは書き込み要求を処理する間に経過した時間のパーセンテージを示します。 |
¥PhysicalDisk()¥% Disk Time |
---|
注 : |
説明 : % Disk Time は、選択したディスクが読み取りまたは書き込み要求を処理する間に経過した時間のパーセンテージを示します。 |
¥PhysicalDisk()¥Avg. Disk Queue Length |
注 : RAID アレイ中の利用可能な物理ディスクあたり 2 未満が適正です。 |
説明 : Avg. Disk Queue Length は、サンプル期間に指定ディスクの待ち行列にある要求の平均数です。 |
¥PhysicalDisk()¥Disk Reads/sec |
---|
注 : |
説明 : Disk Reads/sec は、ディスク上の読み取り速度を表します。 |
¥PhysicalDisk()¥Disk Writes/sec |
---|
注 : |
説明 : Disk Writes/sec は、ディスク上の書き込み速度を表します。 |
¥LogicalDisk()¥% Free Space |
---|
注 : ( オプション ) |
説明 : % Free Space は、物理ディスク ユニット上にある空き空間と指定の物理ディスク ドライブにある総利用可能空間の割合を表します。これをの目的とする場合は、diskperf を実行しないオプションも選択でき、通常は PhysicalDisk の情報だけでも十分です。 |
¥PhysicalDisk(_Total)¥Avg. Disk sec/Read |
---|
注 : |
説明 : Avg. Disk sec/Read は、ディスクからデータを読み取る秒単位の平均時間です。 |
¥PhysicalDisk(_Total)¥Avg. Disk sec/Write |
---|
注 : |
説明 : Avg. Disk sec/Write は、ディスクにデータを書き込む秒単位の平均時間です。 |
SQL Server を監視するためのカウンタ :
¥SQL Server:Databases()¥Transactions/sec |
---|
注 : 時間の経過にともなう負荷増大の程度を表します。 |
説明 : このカウンタは、サーバーがサポートするトランザクション数を表します。この数値はシステム規模の参考になるので、ハードウェア ベンダとの共同作業を行う場合に役立ちます。トランザクション負荷の増大程度をチェックするのに最適なカウンタです。 |
¥SQLServer:Buffer Manager¥Buffer cache hit ratio |
---|
注 : 100 に近いほど適正です。 |
説明 : バッファ プールにある、ディスクからの読み取り負荷のないページのパーセンテージを表します。 |
¥SQLServer:Access Methods¥Full Scans/sec |
---|
注 : |
説明 :インデックスの作成に利用します。このカウンタは、テーブルまたはインデックスの秒あたりのフル スキャン数を示します。この数値が 1 または 2 より高い場合は、その原因となっているコードを最適化できるかどうか調べる必要があります。通常 OLTP アプリケーションは、テーブル スキャンの利用を最小化します。 |
¥SQLServer:Access Methods¥Index Searches/sec |
---|
注 : |
説明 : インデックス検索数を表します。インデックス検索は、範囲スキャン、単一インデックス レコードのフェッチを開始するとき、およびインデックスの中で再度位置づけするときに使用します。 このカウンタは、単一行または小さな数値にインデックスを検索した秒あたりの回数を示します。このカウンタによって、システムのデータ アクセスのパターンをチェックできます。 |
¥SQLServer:SQL Statistics¥SQL Re-Compilations/sec |
---|
注 : |
説明 : Query re-compilation クエリの再コンパイル処理は、スキーマの変更、テーブルに多くの行数を加えるまたはテーブルから差し引くなどの静的なスキーマの変更、またはセッション設定の変更によって発生します。このカウンタの値が常に高い場合は、調査が必要です。 |
¥SQLServer:Locks(_Total)¥Average Wait Time (ms) |
---|
注 : |
説明 :待ち状態の原因となる各ロック要求の平均待ち時間をミリ秒単位で表します。 |
¥SQLServer:Locks(_Total)¥Lock Waits/sec |
---|
注 : |
説明 :すぐには処理されず、呼び出し側がロック権限を与えられるまで待機しなければならないロック要求の数を表します。 |
¥SQLServer:Locks(_Total)¥Number of Deadlocks/sec |
---|
注 : |
説明 :デッドロックの原因となるロック要求の数を表します。 |
¥SQLServer:Cache Manager(Prepared Sql Plans)¥Cache Hit Ratio |
---|
注 : 100% に近いほど適正です。 |
説明 :キャッシュ ヒット およびルックアップの割合を表します。このカウンタによって、アプリケーションが使用したコンパイルされたストアド プロシージャの数をチェックできます。このカウンタ値が小さすぎる場合は、動的 SQL ステートメントの使用が超過状態にあります。 |