SQL Serverのパフォーマンス チューニング ツール
SolarWinds® DPAからのSQLパフォーマンス チューニングのヒントで、サーバーとデータベースを最適化します。
SQLのパフォーマンス チューニングに応答時間解析を使用する
応答時間解析を使用すると、データベース管理者(DBA)は、クエリの実行に費やされた時間を測定できるため、エンドユーザーへの影響を測定できるようになります。
SolarWinds® Database Performance Analyzer(DPA)の応答時間分析機能は、パフォーマンスのボトルネックを特定し、その根本原因を突き止め、SQL Serverのパフォーマンス チューニングの不備がエンド ユーザーに与える影響に基づいて対策の優先順位付けを行うことで、トラブルシューティングを行い、目に見えるパフォーマンスの改善を実現できるように設計されています。
応答時間解析で重要な洞察を得る
応答時間解析は、ITに対するアプリケーションパフォーマンス管理(APM)と同じことをDBAに対して行います。つまり、エンド ユーザーからのクエリ要求からクエリ応答までのエンドツーエンドのプロセスを特定し、測定します。各手順間で費やされた時間も含まれます。
応答時間解析では、各クエリのすべての待機タイプの時間を測定します。これにより、クエリ間でこのデータを比較できるようになります。インコンテキスト ビューを使用すると、エンドユーザーに最も影響を与える作業に優先順位を付けることができます。
応答時間解析のあるSQLチューニングツールを活用する
応答時間解析の中核となるのは、待機イベントまたは待機タイプです。これは、サーバー プロセスまたはスレッドが、クエリの処理が続行できるようになる前に、イベントが完了するまで、またはリソースが使用可能になるまで、いつ待機する必要があるかを示すものです。この例としては、データのバッファへの移動、ディスクへの書き込み、ロックの待機、またはログ ファイルの書き込みが挙げられます。
通常、クエリ要求と応答の間には複数の待機イベントが発生します。クエリが特定の待機タイプで通常よりも長く待機している場合、どのようにして見つけるのですか?何が「正常」かをどのようにして知ることができるのですか?待機している理由を探る方法は?そして、その修正方法は?そこで、応答時間解析が役立ちます。SolarWinds DPAは、待機時間のベースラインを確立し、待機時間が長い場合の原因と潜在的な修正方法に関する情報を提供するように構築されています。
SQL Serverのパフォーマンス チューニングを簡単に実行する
効果的なSQL Serverのデータベース パフォーマンス チューニングのために、クエリ、待機、ユーザーなどのリアルタイム メトリックを活用します。SQL Serverチューニングアドバイザーは、緊急の注意を要するエンドユーザーのパフォーマンスの問題を知らせ、より効率的なSQLインデックス作成のためのデータベース全体における機会を特定するのに役立ちます。
DPAに組み込まれた分析ツールは、現在のクエリと待機時間の動作を評価することから、詳細なクエリとインデックスのチューニングを行い、時間の経過とともに変更の影響を追跡するまで、パフォーマンス チューニングのステップを案内するように設計されています。
CPU負荷が高いクエリが存在し、その原因が不明な場合はどうすればよいでしょうか?AI Query Assistが状況を確認します。SQL Serverインスタンスのクエリ詳細ページを表示し、問題のあるクエリとその実行計画を指定すると、SolarWinds AIがSQLを再構築します。変更点とその理由を説明する具体的なチューニング ノートとともに、並べて比較できます。何かが見つかるのを期待して、1時間も計画を見つめ続ける必要はありません。
SQLのパフォーマンス チューニングの詳細
こんな疑問を抱いたことはありませんか…
SQL Serverのパフォーマンス問題は、時として明白です。ユーザーからの呼び出しが頻繁に発生したり、ページがタイムアウトしたり、以前は数秒で実行されていたレポートの処理に数分かかるようになったりします。一方で、パフォーマンスの低下が微妙に進行し、数週間を通じて徐々に悪化する場合もあります。いずれにしても、いくつかの指標により、現状を正確に把握することが可能です。
まず、待機統計情報を確認してください。sys.dm_exec_query_statsやsys.dm_os_wait_statsのような動的管理ビュー(DMV)は、現在最もCPU、I/O、または経過時間を消費しているクエリを示します。ベースラインがない場合は、推測していることになりますので、問題が発生する前に早めに確立してください。その他の明確な兆候としては、CPUまたはディスクI/Oが常に容量限界に近い状態にあること、アクティビティ モニターでブロックされたセッションのリストが増加していること、バッチ リクエストのレートが低下して待ち時間が長くなっていること、アプリケーション ログがタイムアウト エラーでいっぱいになっていることなどが挙げられます。
SQL Serverに組み込まれたライブ クエリ統計機能は、プロファイラや拡張イベントと同様に、クエリの実行後ではなく、実行中にリアルタイムの実行統計を表示できます。これは、暴走クエリが完了する前にそれを検知したり、インデックスの変更が実際に効果があったかどうかを確認したりするのに役立ちます。SolarWinds DPAのようなツールは、待機データと過去のトレンドを相関させることで、単に遅延を示すだけでなく、その原因や経時的な悪化の有無を明らかにします。
SQL Serverのパフォーマンス問題は、時として明白です。ユーザーからの呼び出しが頻繁に発生したり、ページがタイムアウトしたり、以前は数秒で実行されていたレポートの処理に数分かかるようになったりします。一方で、パフォーマンスの低下が微妙に進行し、数週間を通じて徐々に悪化する場合もあります。いずれにしても、いくつかの指標により、現状を正確に把握することが可能です。
まず、待機統計情報を確認してください。sys.dm_exec_query_statsやsys.dm_os_wait_statsのような動的管理ビュー(DMV)は、現在最もCPU、I/O、または経過時間を消費しているクエリを示します。ベースラインがない場合は、推測していることになりますので、問題が発生する前に早めに確立してください。その他の明確な兆候としては、CPUまたはディスクI/Oが常に容量限界に近い状態にあること、アクティビティ モニターでブロックされたセッションのリストが増加していること、バッチ リクエストのレートが低下して待ち時間が長くなっていること、アプリケーション ログがタイムアウト エラーでいっぱいになっていることなどが挙げられます。
SQL Serverに組み込まれたライブ クエリ統計機能は、プロファイラや拡張イベントと同様に、クエリの実行後ではなく、実行中にリアルタイムの実行統計を表示できます。これは、暴走クエリが完了する前にそれを検知したり、インデックスの変更が実際に効果があったかどうかを確認したりするのに役立ちます。SolarWinds DPAのようなツールは、待機データと過去のトレンドを相関させることで、単に遅延を示すだけでなく、その原因や経時的な悪化の有無を明らかにします。
強力なSQLのパフォーマンス チューニングツールを活用する
Database Performance Analyzer for SQL Server
- 簡単に行えるドリルイン、コンテキスト設定、統一されたナビゲーション
- ブロックされている内容と、ブロック元を確認 - プラス、詳しいdeadlockの解析
- 最適なインデックス、クエリ、テーブルチューニングの機会を特定