Adobe Commerce:MySQL クエリが「資格認定を待機中」状態でスタックすると、パフォーマンスの問題が発生する
MySQL の 認定待ち 状態は、Adobe Commerceを強化する Galera ベースのクラスターで使用される 2 段階のコミットプロセスの一部です。 このメカニズムにより、トランザクションが送信されるたびにデータベースに競合が発生しなくなります。 この状態の短時間の表示は正常ですが、長時間の表示はパフォーマンスのボトルネックを示します。 これらの遅延は、クエリの長時間実行、高い競合、インフラストラクチャの問題が原因で発生する可能性があります。
これを修正するには、低速のクエリの分析、キャッシュのフラッシュの管理、SWAT 推奨事項の実装、データベース統計の最適化を行います。
説明 description
環境
- Product: Adobe Commerce
- データベースクラスタータイプ: Galera ベースの MySQL
問題/症状
多数の MySQL クエリが 資格認定を待機中 状態でスタックしたためにパフォーマンスが低下します。 症状は次のとおりです。
- 買い物かごでの商品の表示遅延。
- クエリの実行が遅い。
- 低速なクエリログファイルが大きい。
- キャッシュフラッシュは、ピーク使用時間と一致します。
解決策 resolution
この問題を解決するには:
-
MySQL の低速クエリログを確認して、長時間実行されているクエリを特定します。 ログファイルのサイズが数百 MB に大きくなる場合は、重大な問題が発生していることを示します。 問題のあるクエリを最適化してボトルネックを軽減し、全体的なパフォーマンスを向上させます。 詳しくは、Commerce KB ドキュメントの 処理に時間のかかるクエリとプロセスの MySQL の確認 を参照してください。
-
深夜や早朝など、ピーク以外の時間にキャッシュのフラッシュをスケジュールします。 これにより、需要の多い時間帯にシステム負荷が増加するのを回避し、パフォーマンスの低下を防ぐことができます。 詳しくは、Commerce設定ガイドの キャッシュの管理 ドキュメントを参照してください。
-
SWAT レポートの Recommendations を実装します。 これには、テーブルに欠落しているプライマリキーを追加したり、トリガーの使用を最小限に抑えたりすることが含まれる場合があります。どちらも、競合を減らし、認証の速度を向上させる可能性があります。 Site-Wide Analysis Tool について詳しくは、Commerce ツール ドキュメントを参照してください。
-
注意 : この操作により、テーブルが一時的にロックされる場合があります。 営業時間外に実行し、cron ジョブが無効になっていることを確認して中断を回避します。
テーブル分析を使用して
mysqlcheckを実行し、データベース統計が最新であることを確認します。code language-none mysqlcheck -h<host_name> -u<user_name> -p -a <db_name> -
テーブル統計が最新であることを確認します。 統計が古いと、クエリ実行プランが非効率的になり、クラスター全体のパフォーマンスが低下する可能性があります。