Redis 問題により、Commerce管理者のログインまたはチェックアウトが遅れる
この記事では、Commerce管理者にログインしたり、チェックアウトページを開いたりすると、遅延やタイムアウト(30 秒以上)が発生する問題を修正しました。 この問題は、Redis がセッションストレージに使用されている場合に発生します。
原因: Github の問題#12385.
解決策: redis のすべてのバージョンとAdobe Commerceの特定のバージョンのこれらの問題を修正するために、最新のAdobe Commerce パッチに更新します。
影響を受けるバージョンとテクノロジー
- cloud infrastructure 上のAdobe Commerceのバージョン 2.1.11 ~ 2.1.13 および 2.2.1
- Adobe Commerce オンプレミスのバージョン 2.1.11 ~ 2.1.13 および 2.2.1
- Redis、すべてのバージョン
クラウドインフラストラクチャバージョンでAdobe Commerceを使用する場合 2.2.0を参照してください。回避策があります。
問題
Commerce管理者にログインするか、チェックアウトページに進むには、30 秒以上かかります。
これは、ユーザーセッションが Redis に保存されている場合にのみ発生します。
原因:
Adobe Commerceには、セッションロックのメカニズムに問題があり、Redis をセッションストレージに使用した際に、一部のオペレーションで 30 秒のタイムアウトが追加されました。 詳しくは、を参照してください Github の問題#12385.
この問題は、Adobe Commerce 2.1.14 および 2.2.2 で修正されました。
ソリューション:パッチまたはアップグレード
解決策 1:修正プログラムを適用する
パッチを受け取るには、 サポートチケットを送信 パッチを要求しています。 チケットに、Adobe Commerceのバージョンと、パッチに対応する参照番号を指定します。
- 2.1.11 以降: MDVA-7835
- 2.2.1: MDVA-8128
一般的な(バージョンに依存しない)参照番号は MAGETWO-84289 です。
解決策 2: 2.1.14/2.2.2以降へのアップグレード
以前にAdobe Commerce 2.2.2 以降へのアップグレードを検討した場合は、このアップデートの機会を利用して問題を修正することができます。
回避策:セッションロックを無効にします
セッションロックを無効にするには、を設定します disable_locking
対象: 1
の Redis 設定セクションで説明しています。 env.php
ファイル:
'session' =>
array (
'save' => 'redis',
'redis' =>
array (
'host' => 'redis.internal',
'port' => 6379,
'database' => '0',
'disable_locking' => '1'
),
),
このソリューションは、他のAdobe Commerce機能には影響しません。
パッチ適用後に回避策を元に戻す
修正を含むパッチを適用した後は、回避策は不要になったので、元に戻すことができます( disable_locking
対象: 0
)に設定します。
Adobe Commerce on cloud infrastructure 2.2.0: ECE-Tools v2002.0.8 以降を使用します h_64593789291526919876198
この ECE-Tools バージョン 2002.0.3 ~ 2002.0.7 の展開スクリプト パッケージ 適用 自動的に回避策、設定 disable_locking
対象: 1
. これにより、元の問題が発生しないAdobe Commerce 2.2.0 のセッションロック機能が無効になります。
Adobe Commerceを Cloud Infrastructure 2.2.0 で実行している場合は、ECE-Tools を v2002.0.8 以降にアップグレードします。 また、クラウドインフラストラクチャー上のAdobe Commerceを 2.2.2 以降にアップグレードすることを検討することもできます。