SQL Server の Buffer Manager オブジェクト

適用対象:yesSQL Server (サポートされているすべてのバージョン)

Buffer Managerオブジェクトには、SQL Server で使用する方法を監視するためのカウンターが用意されています。

  • データ ページを保存するメモリ。

  • 物理 i/o を SQL Server として監視するカウンターは、データベースページの読み取りと書き込みを行います。

  • ソリッドステート ドライブ (SSD) などの高速不揮発性記憶域を使用してバッファー キャッシュを拡張するバッファー プール拡張。

SQL Server によって使用されるメモリおよびカウンターを監視すると、次のことを判断するのに役立ちます。

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

  • メモリを追加することによってクエリのパフォーマンスを向上させることができる場合、またはデータキャッシュまたは内部構造 SQL Server に使用できるメモリを増やす場合。

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

Buffer Manager パフォーマンス オブジェクト

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

SQL Server Buffer Manager カウンター 説明
1 秒あたりのバックグラウンド ライター ページ 復旧間隔の設定を適用するためにフラッシュされたページ数。
Buffer cache hit ratio バッファー キャッシュ内に存在し、ディスクから読み取る必要がないページの比率を示します。 この比率は、最近の数千のページ アクセスでのキャッシュ ヒットの総数を、キャッシュ参照の総数で割って算出します。 長い時間が経過すると、この比率はほとんど変化しなくなります。 キャッシュから読み取る方が、ディスクから読み取るよりもコストが低いので、この比率が高くなるようにします。 一般に、SQL Server に使用できるメモリの量を増やすか、バッファープール拡張機能を使用することで、バッファーキャッシュヒット率を増加させることができます。
バッファー キャッシュ ヒット率ベース 内部使用専用です。
Checkpoint pages/sec チェックポイントにより、またはすべてのダーティ ページをフラッシュする必要があるその他の操作により、ディスクにフラッシュされた 1 秒あたりのページ数を示します。
Database pages データベースの内容が含まれたこのノード上のバッファー プール内のページの数を示します。
Extension allocated pages バッファー プール拡張ファイル内の非フリー キャッシュ ページの総数。
Extension free pages バッファー プール拡張ファイル内のフリー キャッシュ ページの総数。
Extension in use as percentage バッファー マネージャー ページによって占有されるバッファー プール拡張ページング ファイルの割合。
Extension outstanding IO counter バッファー プール拡張ファイルの I/O キューの長さ。
Extension page evictions/sec 1 秒あたりにバッファー プール拡張ファイルから削除されるページ数。
Extension page reads/sec 1 秒あたりにバッファー プール拡張ファイルから読み取られるページ数。
Extension page unreferenced time ページが参照されないままバッファー プール拡張に存在する平均秒数。
Extension pages writes/sec 1 秒あたりにバッファー プール拡張ファイルに書き込まれるページ数。
Free list stalls/sec フリー ページを待機する必要があった要求の 1 秒あたりの数を示します。
インテグラル コントローラーの傾き バッファー プールのインテグラル コントローラーが前回使用した傾きに -100 億を掛けた値。
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 秒あたりのページ数を示します。
1 秒あたりの先行読み取り時間 先行読み取りの発行に要した時間 (マイクロ秒)。
Target pages バッファー プール内の適切なページ数。

sys.dm_os_performance_counters の動的管理ビューで次の T-SQL クエリを使用して、このオブジェクトのクエリ パフォーマンス カウンターの確認を開始します。

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%';

関連項目