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

PolarDB:デッドロック分析

最終更新日:Aug 23, 2024

PolarDB for MySQLが提供するクイック診断機能は、Database Autonomy Service (DAS) の一部の機能と統合されており、デッドロック分析機能を使用してデータベースの最新のデッドロックを分析し、分析の詳細を確認できます。

概要

デッドロック分析機能を使用すると、クラスターのデッドロック、トランザクションブロック、およびメタデータロックに対して多次元分析を実行できます。

重要

完全デッドロック分析およびその他のデッドロック分析機能を有効にする場合は、次の要件が満たされていることを確認してください。

  1. クラスターはPolarDB for MySQLクラスターです。

  2. DAS Cost-efficient EditionまたはDAS Enterprise Editionが有効になっています。 DAS Cost-efficient EditionおよびDAS Enterprise Editionは、一部のリージョンでのみ使用できます。 詳細については、「サポートされているデータベースとリージョン」をご参照ください。 DAS Cost-efficient EditionまたはDAS Enterprise Editionを有効にする方法の詳細については、「DAS Cost-efficient EditionおよびDAS Enterprise Editionの有効化」をご参照ください。

  • 最近のデッドロック分析: DASは、SHOW ENGINE INNODB STATUSステートメントの返された結果に含まれる最新のデッドロックログを分析します。 複数のデッドロックが発生した場合、DASは最新のデッドロックのみを分析します。

  • 完全デッドロック分析: DASは定期的にエラーログを分析し、デッドロック情報を解析し、包括的なデッドロック分析を実行します。 DASでは、指定した時間範囲内のデッドロックの傾向を表示したり、各デッドロックの詳細を表示したりすることもできます。

  • その他のロック分析: DASは、information_schemaperformance_schemaのデータに基づいて、クラスターの現在のセッションのメタデータロックとトランザクションブロックをリアルタイムで分析します。

    • メタデータロック分析: DASは、ロック待機関係を推定し、information_schema.processlistテーブルなどのテーブル内のデータに基づいて対応するダイアグラムを生成します。

    • トランザクションブロック分析: DASはトランザクションブロック関係を分析し、information_schema.processlistinformation_schema.innodb_trx、およびinformation_schema.innodb_lock_waitsまたはperformance_schema.data_lock_waitsテーブルのデータに基づいて対応するダイアグラムを生成します。 information_schema.innodb_lock_waitsテーブルのデータはMySQL 5.6またはMySQL 5.7を実行するクラスターに使用され、performance_schema.data_lock_waitsテーブルのデータはMySQL 8.0を実行するクラスターに使用されます。

      説明

      MySQL 5.6を実行するPolarDB for MySQLクラスターでは、トランザクションブロック分析機能はサポートされていません。

パラメーター設定

クラスターでデッドロック分析機能を使用するには、クラスターの対応するパラメーターを設定する必要があります。 次の表に、さまざまなデッドロック分析機能に必要なパラメーター設定を示します。

デッドロック分析機能

必須パラメーター設定

最近のデッドロック分析

innodb_deadlock_detectパラメーターをONに設定します。

完全なデッドロック分析

  • innodb_deadlock_detectパラメーターをONに設定します。

  • innodb_print_all_deadlocksパラメーターをONに設定します。

他のロック分析でのトランザクションブロック分析

PolarDB for MySQLクラスターでMySQL 8.0が実行されている場合は、performance_schemaパラメーターをONに設定します。

PolarDB For MySQLクラスターのパラメーターを変更する方法については、「クラスターとノードパラメーターの設定」をご参照ください。

手順

  1. PolarDBコンソールにログインします。

  2. クラスターページで、クラスターのIDをクリックします。

  3. 左上隅で、クラスターがデプロイされているリージョンを選択します。

  4. 左側のナビゲーションウィンドウで、診断と最適化 > 診断.

  5. デッドロック分析タブをクリックします。

  6. デッドロック分析ページから対象のクラスターIDを選択します。現在のノードドロップダウンリストをクリックし、診断.

  7. 詳細検出された最新のデッドロックの列で詳細を表示をクリックします。

    説明

    [詳細の表示] ボタンは、同じアイテムの [デッドロックが検出された] 列が [はい] 状態で表示されている場合にのみ使用できます。

  8. [デッドロック分析] ダイアログボックスで、デッドロック分析結果の詳細を表示します。 [デッドロックログの表示] をクリックすると、最新のデッドロックログの詳細が表示されます。