web-dev-qa-db-ja.com

PAGELATCH待機とPAGEIOLATCHおよびWRITELOGの関係

SQL Server 2017(SQL Server 2008から)への移行後、PAGELATCHPAGEIOLATCH、およびWRITELOGの待機が増加します。 PAGEIOLATCHWRITELOG(他のディスク-SSDの代わりにHDD)の増加について説明できますが、PAGELATCHも上昇する理由はわかりません。

彼らはとにかく関連していますか?

私が見ることができるものはそうではありません。PAGELATCHはメモリに属し、その他はIOに属します。

2
jerik1

PAGEIOLATCHとWRITELOGの増加を説明できます(他のディスク-SSDではなくHDD)。

これ以上の分析をしないと、その結論には至りません。 this の記事でPaul Randalが言及した考えられる原因のいくつか。

考えられる根本的な原因は以下のとおりです(完全なリストではありません)。

  • SQL Serverへの外部Windowsメモリの負荷により、メモリマネージャがバッファプールサイズを縮小する
  • キャッシュの肥大化を計画し、バッファプールから余分なメモリを借用する
  • 次の理由により、(インデックスシークの代わりに)テーブル/クラスター化インデックススキャンを実行するクエリプラン

    a workload volume increase
    a parameter sniffing problem 
    a required nonclustered index that was dropped or changed 
    an implicit conversion
    

彼らはとにかく関連していますか?

いいえ。考えられる原因と解決策については、この記事をお読みください。

Knee-Jerk Wait Statistics:PAGELATCH Paul Randalによる。

この質問の答えも読んでください。

高いPAGELATCH_ *およびWRITELOG待機。これらは関連していますか?

ワークロードを見て、2008年から2017年の間に何が変更されたかを特定することをお勧めします。これらの変更を待機タイプの変更に関連付けてみてください。新しいおよび改善されたカーディナリティエスティメーターはSQL Server 2014でリリースされました。これは、2008年に記述されたすべてのコードに対して最適な計画を生成しない可能性があります。ハードウェアの変更も役割を果たす可能性があることに注意してください。すべての情報を入手したら、待機タイプの変更の根本的な原因を特定できます。

SQL Server 2014の新しく改善されたカーディナリティエスティメーター

0
SqlWorldWide