SqlServerメモリボトルネック分析--SQLServer:Buffer Manager

2616 ワード

SELECT TOP 312 * FROM  sys.dm_os_performance_counters
where object_name ='SQLServer:Buffer Manager' order by counter_name

1.Buffer cache hit ratio平均>=90%
バッファは、データ・ページを作成するバッファ・ページ・プールです.通常、SQL serverメモリ・プールの最大部分です.このカウンターはできるだけ高いはずです.
低値は、少数のリクエストがバッファにあることを示し、他のリクエストはディスクでサービスを取得することを示します.
この場合、SQLサーバがまだ準備中であるか、バッファの増加需要が最大使用可能メモリを超えている可能性があります.この値が低い場合は、システムのメモリ増加を考慮する必要があります.
2.Checkpoint pages/sec平均値<30
良いチェックポイント操作は、ディスクに移動するページの数です.これらの値はかなり低いはずです.高い値は、バッファ内のより多くのページが汚いページとしてマークされていることを意味します.
汚れたページは、バッファで変更されたページです.変更されると汚れとしてマークされ、次のチェックポイントでディスクに戻されます.
このカウンタが高い場合、システムに大量の書き込みが発生していることを示し、I/O問題の兆候である可能性があります.                                                                                               
3.Lazy writes/sec平均値<20
バッファマネージャのLazy writeプロセスが毎秒書き込むバッファ数を記録します.このプロセスでは、長い間汚れたページをバッファから削除し、メモリを解放します.
数値が高すぎると、I/Oに問題があるか、メモリに問題があることを示します.                                                                                               
4.Page life expectancy平均値>300
ページの平均寿命は、参照されていないページがバッファプールに滞留する時間を表します.数値が低いことは、ページがバッファから移動されることを意味します.
バッファの効率を低下させ、メモリ圧力の可能性を指摘します.                                                                                                   
SELECT TOP 312 * FROM  sys.dm_os_performance_counters
where object_name ='SQLServer:Memory Manager' order by counter_name

1.Memory Grants Pending平均=0
値が高いとメモリ不足を示し、進捗を保留してメモリの空きを待つ必要があります.
2.TargetServer Memory(KB)物理メモリサイズに近い
SQLServerが消費する動的メモリの合計数を示します.
3.Total Server Memory(KB)は、現在SQLerverに割り当てられているTarget Server Memoryの合計メモリに近い.TargetServer Memoryより低い場合
では、SQLserverのメモリ要件が低く、サーバの最大メモリ設定が低すぎる可能性があります.
ソリューション:
アプリケーション・ワークロードの最適化
SQLServerにより多くのメモリを割り当てる
システムメモリの追加
更新32ビットプロセッサは64ビット
3 Gプロセススペースを有効にする
32ビットSQLserverで4 G以上のメモリを使用
 
 
3 Gプロセススペースを有効にする:
Boot.Iniファイルに3 GBスイッチを追加
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=
"Microsoft Windows Server 2008 Advanced Server"
/fastdetect/3GB