SQL Server 2008 R2の高バッファI / Oの原因


8

ドキュメント管理サーバー用のSQLサーバーのパフォーマンスをトラブルシューティングしようとしていますが、今日のパフォーマンスはかつてないほど低くなっています。

最近セットアップした管理データウェアハウス(MDW)を見ると、バッファI / Oに大きなスパイクが見られます。組み合わされたSQL待機時間は、1500〜2000ミリ秒の範囲にあり、通常よりもかなり高くなっています(約500ミリ秒)。この増加の大部分はバッファI / Oです。

DBAではなく、必要以上にこれを行うので、私は深く自分の深みから外れています。

バッファI / Oが大幅に増加した理由を確認する方法はありますか?これは、クエリが大量のデータを取得したためか、SQL Serverのメモリ制限の構成が正しくないためと考えられますか?トラブルシューティングに役立つように照会する必要がある特定の(またはその問題に関して一般的な)またはDMVはありますか?

サーバーはSQL Server 2008 R2です。これは、2つのvCPUと8GB RAMを実行するVMであり、ディスクはSAN上の別のアレイでホストされます。

ここに画像の説明を入力してください

上記のグラフはすべて、SQL Server Management Data Warehouseを使用して生成されました。

回答:


9

待機グラフを注意深く見ると、色付きのバーは実際にはI / O待機ではなくロック待機を示しています。

また、I / Oグラフは、SQL Serverのディスク使用量ではなく、システムのディスク使用量の増加を示しています

システム使用率が時間とともに増加するにつれて、メモリグラフがシステムメモリサイズに近づいていることを考えると、インスタンスは現在の最大サーバーメモリ設定(または最大サーバーメモリ設定がまったく設定されていない)に対してオーバーコミットされていると思います。より多くのSQL Serverメモリプールがディスクにスワップしています。

解決策は、サーバーの最大メモリ設定を下げる(または、設定されていない場合は適切な値に設定する)ことです。同様のシナリオからのより詳細な回答と私のブログ投稿については、こちらの私の回答をご覧ください。

SQL Serverのメモリはオーバーコミットされていますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.