すべてのプロダクト
Search
ドキュメントセンター

:ApsaraDB RDS for MySQLインスタンスのIOPS使用率が高い場合はどうすればよいですか。

最終更新日:Jan 18, 2024

問題の説明

ApsaraDB RDS for MySQLインスタンスのIOPS使用率が高い。

原因

  • RDSインスタンスのメモリ容量がデータキャッシングまたはソートの要件を満たすことができないため、大量の物理I/Oが生成されます。

  • 多数のデータ行がスキャンされるため、クエリの効率は低くなります。

解決策

IOPSの使用量を減らすには、次の方法の1つまたは2つを使用できます。

  • RDSインスタンスの診断レポートを生成します。 この方法を使用することを推奨します。

  • 異常なクエリを終了します。

RDSインスタンスの診断レポートの表示

  1. データ管理 (DMS) コンソールでRDSインスタンスにログインします。

  2. RDSインスタンスを右クリックし、[パフォーマンス] > [ワンクリック診断] を選択します。image

  3. Database Autonomy Service (DAS) コンソールで、RDSインスタンスのリアルタイムセッション、デッドロック、および低速クエリを表示します。

    image

  4. 最適化を行うには、必要なモジュールの詳細リンクをクリックします。

異常なクエリの終了

DMSコンソールで異常なクエリをクエリおよび終了できます。 Physical_sync_readとPhysical_async_readが大きな値に設定されているクエリを終了することを推奨します。 Physical_sync_readおよびPhysical_async_readの大きい値は、高い物理リードを示す。

説明
  • RDSインスタンスへの接続数が上限に達した場合、DMSまたはMySQLコマンドラインツールを使用してRDSインスタンスに接続することはできません。

  • DMSまたはMySQLコマンドラインツールを使用してRDSインスタンスに接続できない場合、ApsaraDB RDSコンソールでwait_timeoutパラメーターを秒単位 (60など) の小さな値に設定することを推奨します。 このパラメーターを60に設定すると、RDSインスタンスは60秒以上アイドル状態の接続を自動的に閉じます。 これにより、DMSまたはMySQLコマンドラインツールを使用して、RDSインスタンスへの新しい接続を確立できます。

RDSインスタンスのセッションを終了して異常なクエリを終了する

診断レポートが利用できない場合、またはSQL最適化の提案をすぐに適用できない場合は、DMSコンソールでRDSインスタンスのセッションを終了することで、異常なクエリを終了できます。

説明

異常なクエリの開始を停止する必要があります。 そうでない場合、異常なクエリは引き続き持続します。

  1. データ管理 (DMS) コンソールでRDSインスタンスにログインします。

  2. RDSインスタンスを右クリックし、[パフォーマンス] > [インスタンスセッション] を選択します。

    image

  3. 終了するセッションを選択し、[選択終了] をクリックします。image

コマンドの実行による異常なクエリの終了

  1. MySQLコマンドラインツールを使用してRDSインスタンスに接続します。

  2. 異常なセッションを特定します。

    • SHOW PROCESSLIST; ステートメントを実行します。

      show processlist

    • 多数のセッションがアクティブな場合は、SHOW FULL PROCESSLIST; ステートメントを実行してセッションを照会します。

  3. kill [$ID] コマンドを実行して、異常なセッションを終了します。 [$ID] をID列の値に設定します。

適用範囲

  • ApsaraDB RDS for MySQL