MDVA-38852: カタログ在庫によりテーブルがロックされ、パフォーマンスが低下する

MDVA-38852 パッチを適用すると、複数の並列オーダーが行われた場合に、更新のためにカタログ インベントリがテーブルをロックし、パフォーマンスが大幅に低下する問題が解決されます。 このパッチは、Quality Patches Tool (QPT)1.1.2 がインストールされている場合に使用できます。 パッチ ID は MDVA-38852。 この問題はAdobe Commerce 2.3.6 で修正されました。

影響を受ける製品とバージョン

Adobe Commerce バージョン用のパッチが作成されます。

  • Adobe Commerce(すべてのデプロイメント方法) 2.3.3

Adobe Commerce バージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) 2.3.0 ~ 2.3.5-p2
NOTE
パッチは、新しい Quality Patches Tool リリースを使用する他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。

問題

カタログ在庫は、複数の並列オーダーが行われる場合にパフォーマンスが大幅に低下する更新のためにテーブルをロックします。

再現手順 :

  1. 商品を買い物かごに追加します。
  2. チェックアウトに進み、注文してみてください。

期待される結果 :

  • デッドロックは発生しません。
  • 複数の並列オーダーが行われる場合、パフォーマンスは低下しません。

実際の結果 :

  • 同時に複数のユーザーが存在する場合、注文の送信が非常に遅くなります。
  • デッドロックエラーが発生すると、次のようになります。
"SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was:
INSERT INTO `quote_payment` (`quote_id`, `method`, `additional_information`) VALUES (?, ?, ?)"

パッチの適用

個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。

関連資料

品質向上パッチツールの詳細については、次を参照してください。

QPT で利用可能なその他のパッチについて詳しくは、開発者向けドキュメントの QPT で利用可能なパッチを参照してください。

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a