tencent cloud

フィードバック

スロークエリ数が多すぎる

最終更新日:2021-11-10 14:55:16

    現象の説明

    スロークエリ現象が発生すると、通常、CPU使用率やスロークエリーの数など、複数の監視指標が同時に跳ね上がります。

    考えられる原因

    通常、SQLステートメントの実行効率はあまり高くないため、TencentDB for MySQLに大量のリクエストが蓄積されます。よくある原因は、以下の2つです。

    • 原因1:SQLステートメントがインデックスを使用していないか、またはより良いインデックスを使用していない。
    • 原因2:QPSのプレッシャーが、現在のインスタンスの負荷上限を超えている。

    ソリューション

    考えられる2つの原因に対しては、さまざまな解決方法があります。

    • ソリューション1:SQLステートメントを最適化して、SQLステートメントの実行効率を引き上げます。詳しくは対策1をご参照ください。
    • ソリューション2:TencentDB for MySQLの設定を引き上げます。詳しくは対策2をご参照ください。

    処理手順

    対策1:SQLステートメントの最適化

    TencentDB for DBbrainを直接使用して、スロークエリを最適化することができます。DBbrainはSQLステートメントを分析し、インデックスを追加するための提案を行います。

    1. DBbrainコンソールにログインし、左側のナビゲーションでPerformance Optimizationを選択し、上部にあるデータベースを選択し、Slow SQL Analysisタブを選択します。
    2. 「SQL統計」チャートのスロークエリー(棒グラフ)をクリック(単一の時間帯を選択)またはプル(複数の時間帯を選択)します。下に集約されたSQLテンプレートと実行情報(実行数、合計実行時間、スキャンされた行数、返された行数などを含む)が以下に表示されます。
    3. 集約されたSQLテンプレート行をクリックすると、SQLの具体的な分析および統計データが右側にポップアップ表示され、対応するインデックスの提案を確認することができます。

    対策2:TencentDB for MySQLの設定の引き上げ

    各仕様に対応するQPS公式負荷テストデータを確認し、現在のインスタンスのQPSデータと比較して、対応するMySQL CPUとメモリ仕様を調整します。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)