現象記述
スロークエリ現象が発生するとき、一般的に、複数の監視指標が同時に急上昇します。例えば:CPU使用率、スロークエリ数。
説明:
監視アラームページで、インスタンスのCPU使用率やスロークエリ数を確認できます。
考えられる原因
通常の場合、SQL文の実行効率が十分でないため、大量のリクエストがTDSQL-C for MySQLで滞留します。一般的な原因は二つあります:
原因1:SQL文がインデックスを利用していない、または最適なインデックスを使用していません。
原因2:QPS負荷が現在のインスタンスの負荷上限を超えています。
解決の考え方
二つの可能性のある原因に対して、それぞれ異なる解決策があります:
解決策1:SQL文を最適化し、SQL文の実行効率を向上させます。詳細については対策1を参照してください。 解決策2:TDSQL-C for MySQLの設定を向上させます。詳細については対策2を参照してください。 処理手順
DBbrainを使用して直接スロークエリの最適化を行います。DBbrainはSQL文を分析し、インデックス追加の推奨事項を提供します。
1. DBbrainコンソールにログインします。左側ナビゲーションで診断・最適化を選択します。上部で対応するデータベースを選択し、その後スローSQL分析タブを選択します。 2. SQL統計グラフのスロークエリ(棒グラフ)をクリック(単一時間帯を選択)またはドラッグ(複数時間帯を選択)すると、下部に集約されたSQLテンプレートおよび実行情報(実行回数、総実行時間、スキャン行数、返却行数など)が表示されます。
3. 特定の集約されたSQLテンプレート行をクリックすると、右側のサイドバーにSQLの詳細分析と統計データが表示され、対応するインデックス推奨事項を確認できます。
対策2:TDSQL-C for MySQLの設定向上