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、すべてのバージョン

クラウドインフラストラクチャバージョン 2.2.0 でAdobe Commerceを使用している場合は、回避策が利用可能です。

問題

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 以降へのアップグレードを検討した場合は、このアップデートの機会を利用して問題を修正することができます。

回避策:セッションロックを無効にします

セッションロックを無効にするには、env.php ファイルの Redis 設定セクションで disable_locking1 に設定します。

'session' =>
  array (
    'save' => 'redis',
    'redis' =>
    array (
      'host' => 'redis.internal',
      'port' => 6379,
      'database' => '0',
      'disable_locking' => '1'
    ),
  ),

このソリューションは、他のAdobe Commerce機能には影響しません。

パッチ適用後に回避策を元に戻す

修正を含むパッチを適用した後は、回避策は不要になったので、それを元に戻すことができます(disable_locking0 に設定)。

Adobe Commerce on cloud infrastructure 2.2.0: ECE-Tools v2002.0.8 以降を使用します h_64593789291526919876198

バージョン 2002.0.3 ~ 2002.0.7 の ECE-Tools デプロイメントスクリプトパッケージ 適用この回避策は自動的に disable_locking1 に設定します。 これにより、元の問題が発生しないAdobe Commerce 2.2.0 のセッションロック機能が無効になります。

Adobe Commerceを Cloud Infrastructure 2.2.0 で実行している場合は、ECE-Tools を v2002.0.8 以降にアップグレードします。 また、クラウドインフラストラクチャー上のAdobe Commerceを 2.2.2 以降にアップグレードすることを検討することもできます。

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