SQL Server 2016マシン用に128 GBの物理メモリがあるシナリオがあります。 SQL Server専用マシンです。 SQL Server自体に110 GB
を割り当てました。
CPU使用率が高い、または接続数が多くなると、パフォーマンスの問題が発生します。より多くの接続で着信するリクエストが増えるため、CPU使用率が高くなるのは正常です。 RING BUFFERS、プランキャッシュなどを確認しました。使用量が増えると、プランキャッシュが頻繁にクリアされることがわかります。また、RING BUFFERはメモリ不足を示していました。ほとんどの場合IndicatorProcess=2
は、SQLサーバーが内部的にメモリプレッシャーを検出したことを意味します。まれにIndicatorSystem = 2
になります。
私は今しばらくの間これに苦労しています。頻繁に実行されるクエリを調整しましたが、プランキャッシュに利用可能なプランがある場合、それらのほとんどは高速に実行されます。ここで私の質問は:
IndicatorProcess=2
が表示されるので、LPIMを有効にするとこのシナリオで役立ちますか。追加情報
監視ツールが過去1時間に言わなければならないことは次のとおりです。
ほとんどの場合、IndicatorProcess = 2が表示されるので、LPIMを有効にするとこのシナリオで役立ちますか。
番号。
私はすでに128 GBのRAMを持っていますが、SQL Server 2016 Standardで可能な最大値ですか?
はい。
そして
使用量が多く、プランキャッシュに使用可能なプランがある場合、[頻繁なクエリ]のほとんどが高速で実行されると、プランキャッシュが頻繁にクリアされることがわかります
プランのキャッシュに集中する必要があることを示唆しています。使い捨てプランは多数ありますか?その場合は、 アドホックワークロード用に最適化 構成オプションを設定することを検討してください。