Azure SQL Database でパフォーマンスのチューニングとトラブルシューティングを簡素化

執筆者: Vladimir Ivanovic (Senior Program Manager, Database Systems)

このポストは、5 月 16 日に投稿された Simplify performance tuning and troubleshooting with Azure SQL Database の翻訳です。

 

現在 Azure SQL Database サービスで運用されているお客様のデータベースは膨大な数に上ります。これらのデータベースを運用しているマイクロソフトでは、その経験をもとにお客様一人ひとりのニーズに合わせてカスタマイズしたデータベース エクスペリエンスを提供しており、これによりお客様はデータベース アプリケーションでより大きなビジネス価値を実現するための取り組みに注力できるようになっています。

今回リリースした Database Advisor は、チューニングに関する推奨事項をインテリジェントに提示してデータベースのパフォーマンス向上を支援する新機能です。推奨事項はデータベースの使用状況の履歴に基づいて提示されます。また、時間の経過と共にワークロードが変化すると、それに合わせて推奨事項も自動的に調整されます。

Database Advisor は以前の Index Advisor に替わるもので、SQL Database から提示する推奨事項がインデックスの管理にとどまらず、より幅広い範囲をカバーするようになったため、それを反映して機能名も変更しました。

さらに、新しい SQL Database Performance Dashboard ではデータベースのパフォーマンスが総合的に表示されるため、パフォーマンス関連のトラブルシューティングが容易になります。従来のように何種類ものウィンドウを切り替えなくても、データベースの最新状態を的確に把握できます。

この記事ではこれらの新機能の概要をご説明します。詳細は今後の記事でそれぞれご紹介する予定です。

SQL Database Performance Dashboard: データベース パフォーマンス関連の情報を 1 つの場所で把握

Azure ポータルの新しいビューである Performance Dashboard では、下記のようなデータベース パフォーマンスに関する主要な情報を一元的に把握できます。

  • SQL Database Advisor の分析による、パフォーマンスのチューニングに関する主な推奨事項

 

  • 自動チューニング機能の最新状況の概要

 

  1. 最近実行されたクエリ パフォーマンスの概要

Performance Dashboard v2

Performance Dashboard には、設定メニューから [Performance]、[Overview] の順に選択してアクセスするか、または SQL Database のメイン ビューの新しいアイコンからアクセスします。

Performance Tile

Performance Dashboard の各タイルをクリックすると、該当する項目の詳細が表示されます。それでは、それぞれの項目の詳細について見ていきましょう。

SQL Database Advisor: それぞれのデータベースに応じたパフォーマンス チューニングに関する推奨事項

Performance Dashboard で [Recommendations] タイルをクリックすると、Azure SQL Database Advisor (旧 Index Advisor) に移動します。下記のような機能により、簡単に SQL Database のパフォーマンスの向上と維持が可能です。

  • 使用履歴に基づいて個々のデータベースに合わせてパフォーマンス チューニングに関する推奨事項を提示します。

 

  1. チューニングに関する推奨事項の実行と検証を容易にします。推奨事項を適用したりその結果のレポートを出力したりする実行プロセスは完全に管理されており、わずか数クリックで開始できます。

13a

今回のリリースでは、データベース パフォーマンスのチューニングについて下記の点から推奨事項を提示します。

項目 範囲
クラスター化されていないインデックスのレイアウトの最適化(従来から Index Advisor でサポート) 不足しているインデックスを作成してクエリ パフォーマンスを向上させたり、重複するインデックスを削除してディスク容量を節約したりします。
データベース スキーマの問題の修正(今回のリリースからサポート) データベース スキーマとクエリ定義が一致せずクエリが失敗する状況に対応します。
データベースのパラメーター化の問題の修正(今回のリリースからサポート) クエリが適切にパラメーター化されていない場合に、クエリのコンパイル処理でリソースが過度に使用される状況に対応します。

 

パフォーマンスのチューニングを自動化

データベースのインデックス管理が面倒に感じることはありませんか? 今後は管理を自分で行わなくてもよくなります。特定の種類の推奨事項の実行を自動化するように Azure SQL Database に設定できるようになりました。操作はわずか数クリックです。選択しておいた種類の推奨事項で新たな提示があると、すぐに SQL Database が自動的にそれを実行します。シンプルなうえに効率的です。

Set up automation

Query Performance Insight: データベース クエリのパフォーマンスに関するリアルタイムのインサイト

Performance Dashboard に表示されるグラフをクリックすると、Query Performance Insight が開きます。この機能では、データベースでリソース消費量が大きくなっている原因を把握したり、クエリ パフォーマンスに関する問題を発見して大きな問題に発展することを防いだりすることができます。

Query Performance Insight では以下のことが可能です。

  • データベースのリソース消費に関する詳細情報の確認

 

  • CPU 消費量上位のクエリの確認 (これらのクエリをチューニングするとパフォーマンスが向上する可能性があります)

 

  • 個々のクエリの詳細の表示

14

Query Performance Insight は Query Store を基盤としており、この Query Store によって記録された多様なクエリ パフォーマンス データの中から有益な情報を表示します。さらに詳細な情報を確認したい場合は、SQL Server Management Studio の Query Store ビュー (詳細についてはこちらのブログ記事を参照) に移動するか、またはこちらの記事に記載されているように Query Store に組み込まれているカタログ ビューでデータを確認してください。

まとめ

Azure SQL Database では、パフォーマンスのチューニングとトラブルシューティングがこれまで以上に簡単かつ迅速に行えるようになりました。お客様のデータベース アプリケーションのパフォーマンス向上と、こうしたプロセスに費やされる時間と手間の削減にご活用ください。SQL Database では下記のことが可能になりました。

  • 使用履歴に基づいた、個々のデータベースに応じたパフォーマンス チューニングに関する推奨事項を確認する

 

  • データベースのチューニング操作の実行と検証を自動化する自動チューニング モードにより、パフォーマンスを自動で最適化する

 

  • 時系列のクエリ ワークロードのパフォーマンスに関するインサイトを確認し、潜在的な問題を検出、修正する

 

これらの機能により Azure SQL Database 自体がデータベースの管理やチューニングを行うため、ユーザーはデータベース アプリケーションの構築やビジネスの収益拡大に専念することができます。

次のステップ

Azure SQL Database をまだご利用でない方は、無料試用版にサインアップして、Azure SQL Database に組み込まれたインテリジェントな機能をお試しください。優れたデータベース アプリケーションをかつてないほど簡単かつすばやく構築できることを実感していただけると思います。

既に Azure SQL Database をご利用の方は、SQL Database Advisor や SQL Database Performance Dashboard をすぐにご利用いただけます。ぜひ Azure ポータルに組み込まれているフィードバック機能やこの記事のコメント欄までご意見をお寄せください。皆様のコメントをお待ちしております。

Feedback Button

詳細情報については、下記のオンライン ドキュメントをご覧ください。