tencent cloud

TencentDB for MySQL

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

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-07-25 17:59:08

現象の説明

スロークエリ現象が発生すると、通常、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とメモリ仕様を調整します。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック