「SQL Server 2008 Query Performance Tuning Distilled」という本を読んでいると、perf mon メトリックの説明が少し曖昧であることがわかりました。カバーされたすべてのメトリックを、それぞれの感覚とともにリストします。必要に応じて説明を共有したいと思います。私のコメントが示唆しているように、私が助けを求めているのは主に項目 2、6、および 7 です。
- Available Bytes : 物理メモリの空き容量。一目瞭然
- Pages/sec および Page Faults/sec : 99% クリア。唯一の問題は、ページがメモリ内のある場所から別の場所にスワップされる理由です (ソフト フォールト)。
- Buffer Cache Hit Ratio : 新しい要求されたメモリがすぐに利用できる頻度。おそらく名前が不十分ですが、かなり明確に見えます。代わりに、「Buffer Pool Free Hit Ratio」と呼ぶべきだったのではないでしょうか。
- Page Life Expectancy : このバッファー プール キャッシュ メトリックは、キャッシュ ヒットの頻度と使用可能なメモリの両方によって制御されます。かなり明確に見えます。
- Lazy writes/sec : ダーティ バッファをディスクに書き込む速度。かなり明確に見えます。
- Memory Grants Pending : 「SQL Server メモリ内のメモリ許可を保留中のプロセスの数」。変。SQL Server メモリに関連付けられているプロセスは 1 つだけであるべきではありませんか? 明確ではありません!
- ターゲット/合計サーバー メモリ: 「サーバー メモリの合計がターゲット サーバー メモリよりもはるかに少ない場合は、おそらく最大サーバー メモリ構成パラメーターの設定が低すぎる」と言われます。やや不明。SQL サーバーのメモリ使用量の合計を制御する
target server memory
2つの設定があるのはなぜですか?max server memory
「合計」はすべてのデータベースインスタンスを組み合わせたものであり、「最大」は個々のデータベースごとであるためですか?
おそらく項目 7 に関連する全体的な質問は、各データベース インスタンスが、使用可能なすべての物理メモリの (ほぼ) 合計に相当する最大メモリ使用量に設定されている場合にどうなるかということです。SQL Server は、ホストしているすべてのインスタンスにそれほど多くの権限を与えず、必要に応じてバランスを取ると思いますか? それよりも複雑ですか?