SQL Server: Buffer Manager オブジェクト

Buffer Manager オブジェクトには、次に示す項目の SQL Server による使用状況を監視するためのカウンタが用意されています。

  • データ ページ、内部データ構造、およびプロシージャ キャッシュを格納するメモリ。

  • SQL Server によるデータベース ページの読み書きに伴う物理 I/O を監視するカウンタ。

SQL Server で使用されるメモリやカウンタを監視すると、次のことを確認できます。

  • 物理メモリが適切でないことによるボトルネックが存在するかどうか。頻繁にアクセスするデータをキャッシュに格納できない場合、SQL Server はデータをディスクから取得する必要があります。

  • メモリを増設したり、データ キャッシュや SQL Server の内部構造により多くのメモリを使用できるように設定することで、クエリのパフォーマンスを向上できるかどうか。

  • SQL Server がディスクからデータをどの程度の頻度で読み取る必要があるか。メモリ アクセスなどの他の操作に比べて、物理 I/O には多くの時間がかかります。物理 I/O をできる限り少なくすれば、クエリのパフォーマンスが向上します。

SQL Server の AWE (Address Windowing Extensions) の使用状況を AWE カウンタで監視できます。たとえば、AWE が正しく動作するために十分なメモリが SQL Server によって割り当てられているかどうかを確認することができます。詳細については、「メモリ アーキテクチャ」、「AWE の使用」、または「awe enabled オプション」を参照してください。

次の表で、SQL ServerBuffer Manager パフォーマンス オブジェクトについて説明します。

SQL Server Buffer Manager カウンタ

説明

AWE lookup maps/sec

データベース ページがサーバーにより要求、バッファ プール内で検出、およびマップされた 1 秒あたりの回数。マップしたデータベース ページは、サーバーの仮想アドレス空間の一部になります。

AWE stolen maps/sec

バッファがフリー リストから取得およびマップされた 1 秒あたりの回数。

AWE unmap calls/sec

バッファをマップ解除する呼び出しの 1 秒あたりの回数。マップ解除されたバッファは、仮想サーバー アドレス空間から除外されます。1 回の呼び出しにつき、1 つ以上のバッファがマップ解除されることがあります。

AWE unmap pages/sec

マップ解除された SQL Server バッファの 1 秒あたりの数。

AWE write maps/sec

ディスクに書き込むためにダーティ バッファでのマップが必要な 1 秒あたりの回数。

Buffer cache hit ratio

バッファ キャッシュ内に存在し、ディスクから読み取る必要がないページの比率。この比率は、最近の数千のページ アクセスでのキャッシュ ヒットの総数を、キャッシュ参照の総数で割って算出します。長い時間が経過すると、この比率はほとんど変化しなくなります。キャッシュから読み取る方が、ディスクから読み取るよりもコストが低いので、この比率が高くなるようにします。一般に、SQL Server が使用できるメモリの量を増やすことで、バッファ キャッシュ ヒット率を増加させることができます。

Checkpoint pages/sec

チェックポイントにより、またはすべてのダーティ ページをフラッシュする必要があるその他の操作により、ディスクにフラッシュされた 1 秒あたりのページ数。

Database pages

データベースの内容が含まれたバッファ プール内のページの数。

Free list stalls/sec

フリー ページを待機する必要があった要求の 1 秒あたりの数。

Free pages

すべてのフリー リストにあるページの総数。

Lazy writes/sec

バッファ マネージャのレイジー ライタにより書き込まれたバッファの 1 秒あたりの数。レイジー ライタとは、古いダーティ バッファ (異なるページのためにバッファを再利用する前にディスクに書き戻す必要がある変更を含んでいるバッファ) をまとめてフラッシュし、ユーザー プロセスで使用できるようにするシステム プロセスです。レイジー ライタを使用することで、使用可能なバッファを作成するために頻繁にチェックポイントを実行する必要がなくなります。

Page life expectancy

ページが参照されないままバッファ プールに存在する秒数。

Page lookups/sec

バッファ プールのページを検索する要求の 1 秒あたりの数。

Page reads/sec

物理的なデータベース ページ読み取りが実行される 1 秒あたりの回数。すべてのデータベースのページの物理的な読み取りの総数が表示されます。物理 I/O にはコストがかかるので、データ キャッシュを大きくしたり、高性能のインデックスや効率のよいクエリを使用したり、データベースのデザインを変更したりすることで、できる限りコストを抑えることができます。

Page writes/sec

データベース ページの物理的な書き込みが実行される 1 秒あたりの回数。

Readahead pages/sec

使用を見越して読み取られた 1 秒あたりのページ数。

Reserved pages

バッファ プールに予約されたページの数。

Stolen pages

プロシージャ キャッシュなど、サーバーのさまざまな目的に使用されたページの数。

Target pages

バッファ プール内の適切なページ数。

Total pages

データベース ページ、フリー ページ、別のサーバーが使用するページなど、バッファ プール内のページ数。