Articles

SQL:ページの平均寿命

Posted by admin

現象:SQLがページの平均寿命の低下を検出し、応答が遅くなりました。

影響:中

遅いSQL応答は、ユーザーエクスペリエンスを低下させ、組織の操作の効率が低下します。

期待される動作:

ページがバッファプールに長く滞在し、メモリから読み取ることができるほど、システムパフォーマンスが向上します。 4GBのBUFFER pool(BP)メモリごとに、しきい値を300秒に設定することをお勧めします。

永続的な低ページ平均余命(PLE)の考えられる原因

CPUパワーの優先度が低い:中
推奨処置:
低PLEに関連する継続的な使用量が高いと、CPUのアップグレード CPU使用率の説明を参照してください
または、CPU使用率が高いと、アプリケーションやSQLコードが調整されていないことを示している可能性があります。 アプリケーションを最適化すると、CPU使用率が低下する可能性があります。

: Medium
SQLに割り当てられた合計RAMの量を確認します(オペレーティングシステムのニーズに十分なRAMを維持しながら)。 SQLメモリとデータベースサイズの比率を比較する–私たちの経験に基づいて、最大のデータベースの20%を超える総RAMの比率が最適です。推奨処置可能であれば、SQLにより多くのメモリーを割り当てるか、またはサーバーに物理RAMを追加してSQLメモリーの割り当てを増やすことができます。
推奨処置:

ページファイルbusy/slow Priority:Low
ディスクアクセス速度が遅くなる可能性のある他に何が実行されているかを確認します。 バッファープールは、メモリ領域が必要なときにページをディスクにスワップアウトします。 このプロセスは、ハードドライブへのデータ読み取り/書き込みアクションの効率と需要のレベルに大きく依存します。
推奨処置:
ディスクI/Oを高速化し、遅延を低減するには、利用可能な最も高速なドライブでページファイルを探します(またはより効率的なハードウェ 同様に、他の操作から、このリソースのための競争を減らします。 AimBetter resource monitorは、総ディスク容量、空き容量、およびページファイルのアクティビティに関する包括的な統計を提供します。

バッファプールの割り当ての優先順位が正しくありません: 低
SQL Serverでは、データは8KBページに格納されます。 データが入出力に必要な場合、ページは最初にディスクから読み取られ、メモリに格納されます。 割り当てられた領域はバッファプールと呼ばれます。 ページがプールにロードされると、その後のすべてのアクセスは非常に高速で効率的ですが、ディスクI/Oは比較的低速です。 オペレーティングシステムを飢えさせることなく、できるだけ多くのメモリをバッファープールに割
推奨処置:
物理RAMの最適な割合をBPに割り当てますが、OS操作には十分なRAMを残してください。 ‘Server memory options’ページのMaximum server memoryオプションに値を設定すると、OS自体に十分なメモリが残ります。 インストールされているRAMの合計量よりも約4GB少ないことをお勧めします

考えられる原因または一時的な低ページ平均余命(PLE)

インデックスの欠落または破損優先度:高
インデックスの欠落は、SQL Serverがインデックスを使用してクエリをより高速に実行できることを示唆していることを意味します。 時間の99%は、破損は、ディスクまたはディスクドライバ/ファームウェア関連です。
推奨処置:
インデックスが欠落している場合は、システム設計チームに問い合わせてください。
インデックスが破損している場合は、ストレージ管理チームまたはサポートの専門家に問い合わせてください。 破損が繰り返される場合に考えられる解決策の1つは、データベースを新しいハードウェア構成に複製することです。

コーディングの問題優先度:低い
非効率的なクエリプランや不適切なコーディング標準などの問題の結果かもしれません。
推奨処置:
SQLが使用していた計画を調べて、最適かどうかを判断します。
データベースクエリを調査し、必要なデータクエリが破損しているか、正しくないかを確認します。
コーディングを調査するので、効率を向上させることができるかどうかを確認します。

バッファープールを飽和させるクエリ優先度:Low
これらの原因は長期間にわたって持続しません。 主な原因は次のとおりです:

  • 大容量メモリの取得
  • メモリ内の多数のページを新しいページで置換
  • 多くのページを変更し、ディスクにフラッシュさせる
  • 多くの同時(または非常に大規模な)クエリ

推奨処置 :
それらが再発生しているか、または大きさが増加する傾向を示す場合(pleが低い)、以下の他の考えられる原因を調査する。

DBCC CHECKDBの実行優先度:低い
CHECKDBは非常にリソースを集中的に消費します。 通常のSQL Serverの負荷に加えて、このプロセスを追加のIO負荷として導入すると、ディスクヘッドが常に移動することになります。
推奨アクション :
重要なCHECKDBプロセスは、SQL Serverの負荷を最小限に抑えた時点で実行するか、データベースのバックアップコピーをオフラインで実行することをお勧めします。

インデックスの再構築実行優先度:低
インデックスの再構築操作は常に新しいインデックスを構築します。
推奨アクション :
頻繁に発生する場合は、断片化を毎晩分析し、断片化された索引のみを処理する戦略に切り替えるなど、索引付け手順の変更によって修正できます。 私たちの専門家のサポートチームのコンサルタントは、分析し、支援するために利用可能です。

背景

ページ平均寿命メトリックは、ページがバッファプールに滞在している秒数の平均を測定します。 これはページファイルの使用法と密接に関連しています–ここを参照してください。
パフォーマンスを最適化するには、ディスクではなくメモリからデータを読み取る必要があります。 SQLは、最近アクセスされたデータを格納するメモリページを利用してこれを実現します。 メモリの予約領域(バッファープール)は、これらのページのストレージに使用できます。 バッファー-プールがいっぱいになり、SQLに新しい領域が必要になると、サーバーは最も古いページをディスク上のページ-ファイルにスワップし、新しいデータを読 メモリとディスク間のスワップ数の増加は、パフォーマンスに直接影響します。
PLEの持続的な低レベルは、SQL Serverのメモリ圧力の信頼できる指標です。 この圧力は、要求が高いか、物理的および論理的なデータ構成の非効率的な結果である可能性があります
サーバー上のバッファープール(BP)メモリの4GBごとに300秒にしきい値を設定することをお勧めします。 バッファープールが300秒未満でページをフラッシュしている場合は、おそらく問題があります。
サーバーのメモリが多いほど、キャッシュされたディスクの読み取りと書き込みが実行できます。 システムメモリが不足すると、キャッシュされていないディスクの読み取りと書き込みが高くなる可能性があります。 サーバーにメモリを追加すると、物理ディスクへのアクセスを減らすことができます。

Related Post