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

MDVA-38852 パッチを適用すると、複数の並列オーダーが行われた場合に、更新のためにカタログ インベントリがテーブルをロックし、パフォーマンスが大幅に低下する問題が解決されます。 このパッチは、 品質向上パッチツール(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:パッチの検索ページ. パッチ 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