web-dev-qa-db-ja.com

SQLServer:Buffer Cache Hit Ratioは、可能性のあるメモリボトルネックの良い兆候ですか?

メモリのボトルネックオプションを無視するか、それを受け入れるか、またはさらに調査させる指示(ある場合)を探しています。

例えば:

ページの平均余命:

SELECT [object_name],
[counter_name],
[cntr_value]
FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Manager%'
AND [counter_name] = 'Page life expectancy'

enter image description here

この機会に、私の現在の環境では、8 GBのRAMを搭載したサーバーを使用しているので、より多くのメモリを管理者に要求します。これはメモリのボトルネックだと思います。

RAMを使用しているものは別の調査です。

以下のこのメールは、メモリのボトルネックの可能性を特定するのに有効ですか?

sQLServer:Buffer Cache Hit Ratioを確認する必要があります

その比率が95%未満の場合、サーバーはメモリ不足になっています

お役に立てれば、

enter image description here

5

SQLServer:Buffer Cache Hitの比率を確認する必要があります。その比率が95%未満の場合は、サーバーがメモリ不足になっています。

バッファキャッシュのヒット率を調べてメモリの負荷を判断するのはやめます。これは、SQL Serverの 先読みメカニズム を使用すると、クエリを満たすために十分なページがバッファプールにすでにあるため、BCHRがメモリに関する正確な数値を提供しないためです圧力。メモリのプレッシャーがある場合でも、BCHRが低下しないことさえあるかもしれません。これらはすべて BCHRに関するSQL Serverの大きな議論で説明されています

あなたが投稿したPLE出力は本当に低いようですが、メモリプレッシャーを測定するために1つのカウンターを使用することはできません。 PLEは、サーバーでのI/Oアクティビティを示します。重いI/Oアクティビティが原因で、PLEが急落した可能性があります。ターゲットとサーバーの合計メモリがまだ同じであることに注意してください。これは良い兆候です。

ために Edition upto 2008 R2。以下のカウンターを使用できます

  1. SQLServer:Buffer Manager--CheckpointPages/sec:

  2. SQLServer:Buffer Manager--保留中のメモリ許可:

  3. SQLServer:Buffer Manager-ターゲットサーバーのメモリ:

  4. SQLServer:Buffer Manager-サーバーの合計メモリ

  5. SQLServer:Buffer Manager-無料ページ

  6. SQLServer:Buffer Manager-フリーリストストール/秒

  7. SQLServer:Buffer Manager-ページの平均余命

ために SQL Server 2012 onwards非推奨のバッファープールカウンターの数が少ないため、メモリーマネージャーカウンターを使用する必要があります

  1. SQL Server:メモリマネージャー-ターゲットサーバーのメモリ(KB)

  2. SQL Server:メモリマネージャー-合計サーバーメモリ(KB)

  3. SQL Server:メモリマネージャー-空きメモリ(KB)

  4. SQL Server:メモリマネージャー-データベースキャッシュメモリ(KB)

  5. SQLServer:Buffer Manager-無料ページ

  6. SQLServer:Buffer Manager-フリーリストストール/秒

  7. SQLServer:Buffer Manager-ページの平均余命

ディスクアクティビティが多い場合は、ディスク関連のカウンタも参照することを忘れないでください。 データコレクターセットを作成し 、システムの負荷がピークのときに4〜5時間実行し、データコレクターのスナップショットを質問。次に、SQL Serverがより多くのメモリを必要とするかどうかを判断できます。

個人的には、8Gは少し少ないRAM最近のワークロードとOSの要件を考慮しています。頭の後ろでは、常にRAMの増加について考える必要があります。

4
Shanky

sQLServer:Buffer Cache Hit Ratioを確認する必要があります

その比率が95%未満の場合、サーバーはメモリ不足になっています

お役に立てれば、

これは、メモリのボトルネックを自分で決定するのに役立つものではありません。むしろ、私が望むのは、少なくとも重い負荷/営業時間中の1日間、以下のカウンターのデータを収集することです。

Memory – Available MBytes
SQLServer: Buffer Manager – Page Life Expectancy
SQLServer: Memory Manager – Memory Grants Pending
SQLServer: Memory Manager – Target Server Memory
SQLServer: Memory Manager – Total Server Memory
SQLServer: SQL Statistics – Batch Requests/sec
SQLServer: SQL Statistics – Compilations/sec

最善の方法は、推奨されるSQLサーバーのベースラインです 基本に戻る:プロダクションSQLサーバーでのベースラインのキャプチャ これは、問題の待機統計とともに必要なパフォーマンスモニターカウンターも収集します。

また、8 GB RAMは今日の環境では適切ではない可能性がありますが、インスタンス\ホストでホストされているデータベースのサイズとともに、システムの負荷がどの程度かによって異なります。

1
KASQLDBA