Performance Insight は、PolarDB for MySQL 向けの SQL レベルの診断機能です。MySQL の performance_schema を基盤とし、Database Autonomy Service (DAS) と統合されており、ご利用のクラスターで実行されているすべての SQL ステートメントの統計情報を集計します。これにより、どのステートメントが最もリソースを消費しているかを特定し、パフォーマンスボトルネックを突き止め、速度制限または最適化を適用できます。
前提条件
開始する前に、以下を確認してください。
8 GB 以上のメモリを搭載した PolarDB for MySQL クラスター
loose_performance_schemaまたはperformance_schemaパラメーターが ON に設定されていること — 詳細については、「クラスターとノードのパラメーターを指定する」をご参照ください。以下のサポートされているリージョンのいずれかにクラスターがデプロイされていること:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、中国 (成都)
課金
Performance Insight はパブリックプレビュー期間中であり、無料でご利用いただけます。
オリジナルバージョンとの比較
Performance Insight (新バージョン) は、オリジナルバージョンを拡張し、その他のメトリクスとそれらを探索する追加の方法を提供します。
| Performance Insight(新) | Performance Insight(旧) | |
|---|---|---|
| メトリクス | SQL レベルのトレンド: リソース使用量、実行回数、スキャン済み行数、実行時間 — およびクラスター レベルのトレンド: CPU 使用率、実行回数/エラー数、スキャン済み行数/更新済み行数/返却済み行数、ロジック読み取り数、物理読み取り数、平均実行時間/平均ロック時間、作成された一時テーブル数/作成された一時ディスク テーブル数、ソート済み行数、Select_Scan/Select_Range/Full Join/Full Range Join/Sort_Scan/Sort_Range、上位 5 件の SQL トレンド | クラスター レベルのトレンド: メモリ使用量/CPU 使用率、セッション、トラフィック スループット、IOPS;アクティブ セッションのトレンド |
| 表示方法 | 期間指定ビュー、比較ビュー、SQL ID またはキーワードによるクエリ | 期間指定ビューのみ |
| ガバナンス | SQL スロットリングおよび SQL 最適化 | SQL 最適化のみ |
Performance Insight の有効化
PolarDB コンソールにログインします。
左上隅で、ご利用のクラスターがデプロイされているリージョンを選択します。
[クラスター] ページで、目的のクラスターを検索し、その ID をクリックします。
左側のナビゲーションウィンドウで、診断と最適化 > 診断 を選択します。
[Performance Insight] タブで、[Performance Insightの有効化] をクリックします。
旧バージョンに切り替えるには、[前のバージョンに戻る] をクリックします。旧バージョンの詳細については、「パフォーマンスインサイト (旧バージョン)」をご参照ください。
SQL パフォーマンスの分析
Performance Insight を有効にした後、診断目標に基づいてサブタブを選択します。
時間範囲での表示
このビューを使用して、特定の期間における SQL アクティビティを調査します。
開始時刻と終了時刻を選択します。
説明終了時刻は開始時刻より後である必要があります。クエリは、過去 1 か月以内の最大 7 日間に制限されます。
ダッシュボードには、その期間中のすべての SQL ステートメントについて、リソース使用量、[実行回数]、[スキャンされた行数]、および[実行時間]のトレンドチャートが表示されます。
データをエクスポートするには、[エクスポート] をクリックします。
クラスターレベルのパフォーマンスメトリクスを表示するには、[Show More Metrics] をクリックします。
説明チャートに表示するメトリックを選択するには、[設定項目] をクリックします。
SQL リストで、個々のステートメントに対して次の操作を実行します。
「設定項目」をクリックし、「列の設定」セクションを使用して、どのパフォーマンスメトリクスを列として表示するかを選択します。
SQL ID をクリックすると、その文の [リソース使用量]、[実行回数]、[スキャンされた行]、[実行時間] のトレンドとその SQL サンプル詳細を表示できます。
[サンプル] を [操作] 列でクリックして、文の SQL サンプルの詳細を表示します。
「[速度制限]」を「[操作]」列でクリックして、「[SQL スロットリング]」ダイアログボックスを開き、速度制限パラメーターを設定します。詳細については、「SQL スロットリング」をご参照ください。
「操作」列の[最適化]をクリックして、「SQL診断と最適化」ダイアログボックスを開き、診断結果を確認します。提案が役立つ場合は、右上隅の[コピー]をクリックし、最適化されたSQLをデータベースクライアントまたはData Management (DMS)に貼り付けて実行します。適用せずに閉じるには、[OK]をクリックします。
専門家のサポートを受けるには、[Database Expert Service] をクリックして、緊急対応、ヘルス診断、パフォーマンス最適化、セキュリティ保証、およびデータ移行を含むプロフェッショナルなサポートを購入してください。
比較での表示
このビューを使用して、スキーマ変更やトラフィックスパイクの前後のように、2 つの時点における SQL パフォーマンスを比較します。
時点を選択します。ダッシュボードには、すべての SQL ステートメントに対する リソース使用量、[実行回数]、[スキャン行数]、および [実行時間] の並列比較結果が表示されます。チャートの下にある SQL リストには、各ステートメントごとの詳細な比較結果が表示されます。
[設定項目] をクリックして、SQL リストに表示するメトリックを選択します。
テーブル/インデックス
このビューを使用して、テーブルとインデックス情報を検査します。データベース名、テーブル名、またはトラフィックのない日数でフィルタリングして、未使用のインデックスまたは古いテーブルを特定します。
Performance Insight の無効化
Performance Insight を無効にすると、データ収集が停止し、すべての既存データが削除されます。
PolarDB コンソールにログインします。
左上隅で、ご利用のクラスターがデプロイされているリージョンを選択します。
「[クラスター]」ページで、自分のクラスターを見つけ、その ID をクリックします。
左側のナビゲーションウィンドウで、[診断と最適化] > [診断] を選択します。
[Performance Insight] タブで、[Service Settings] をクリックします。
「[サービス設定]」ダイアログボックスで、「[機能設定]」をオフにし、[OK] をクリックします。
確認メッセージで、[OK] をクリックします。