Configuración de caché L2

El almacenamiento en caché permite reducir el tráfico de red entre el almacenamiento de caché remoto y la aplicación de comercio. Una instancia de Commerce estándar transfiere alrededor de 300 kb por solicitud, y el tráfico puede crecer rápidamente a más de ~1000 solicitudes en algunas situaciones.

Para reducir el ancho de banda de red a Redis, almacene los datos de la caché localmente en cada nodo web y utilice la caché remota para dos fines:

  • Compruebe la versión de los datos de la caché y asegúrese de que la caché más reciente se almacena localmente
  • Transfiera la última caché del equipo remoto al equipo local

Commerce almacena la versión de los datos con hash en Redis, con el sufijo ":hash" anexado a la clave normal. Si hay una caché local obsoleta, los datos se transfieren al equipo local con un adaptador de caché.

INFO
Para Adobe Commerce en la infraestructura en la nube, puede utilizar implementar variables para la configuración de caché L2.

Ejemplo de configuración

Utilice el siguiente ejemplo para modificar o reemplazar la sección de caché existente en la app/etc/env.php archivo.

'cache' => [
    'frontend' => [
        'default' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ]
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ]
    ],
    'type' => [
        'default' => ['frontend' => 'default'],
    ],
],

Donde:

  • backend es la implementación de caché L2.

  • backend_options es la configuración de caché L2.

    • remote_backend es la implementación de caché remota: Redis o MySQL.
    • remote_backend_options es la configuración de caché remota.
    • local_backend es la implementación de caché local: Cm_Cache_Backend_File
    • local_backend_options es la configuración de la caché local.
    • cache_dir es una opción específica de la caché de archivos para el directorio donde se almacena la caché local.

Adobe recomienda utilizar Redis para el almacenamiento en caché remoto (\Magento\Framework\Cache\Backend\Redis) y Cm_Cache_Backend_File para el almacenamiento en caché local de datos en la memoria compartida, utilice: 'local_backend_options' => ['cache_dir' => '/dev/shm/']

El Adobe recomienda el uso del cache preload función, ya que reduce drásticamente la presión sobre Redis. No olvide agregar el sufijo ":hash" para las claves de precarga.

Opciones de caché antiguas

Primeros pasos con Commerce 2.4, el use_stale_cache La opción puede mejorar el rendimiento en algunos casos específicos.

Por lo general, la compensación con la espera de bloqueo es aceptable desde el lado del rendimiento, pero cuanto mayor sea el número de bloques o caché que tiene el comerciante, más tiempo se pasa esperando bloqueos. En algunos casos, puede esperar a que número de claves * tiempo de espera de búsqueda cantidad de tiempo para el proceso. En algunos casos excepcionales, el comerciante puede tener cientos de llaves en el Block/Config caché, por lo que incluso un pequeño tiempo de espera de búsqueda para el bloqueo puede costar segundos.

La caché antigua solo funciona con una caché L2. Con una caché obsoleta, puede enviar una caché obsoleta, mientras que una nueva se genera en un proceso paralelo. Para habilitar la caché anticuada, agregue. 'use_stale_cache' => true a la configuración superior de la caché L2.

El Adobe recomienda habilitar la variable use_stale_cache solo para los tipos de caché que más se benefician de ella, incluidos:

  • block_html
  • config_integration_api
  • config_integration
  • full_page
  • layout
  • reflection
  • translate

El Adobe no recomienda activar la variable use_stale_cache para la opción default tipo de caché.

El siguiente código muestra un ejemplo de configuración:

'cache' => [
    'frontend' => [
        'default' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ]
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ],
         'stale_cache_enabled' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ],
                'use_stale_cache' => true,
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ]
    ],
    'type' => [
        'default' => ['frontend' => 'default'],
        'layout' => ['frontend' => 'stale_cache_enabled'],
        'block_html' => ['frontend' => 'stale_cache_enabled'],
        'reflection' => ['frontend' => 'stale_cache_enabled'],
        'config_integration' => ['frontend' => 'stale_cache_enabled'],
        'config_integration_api' => ['frontend' => 'stale_cache_enabled'],
        'full_page' => ['frontend' => 'stale_cache_enabled'],
        'translate' => ['frontend' => 'stale_cache_enabled']
    ],
],
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c