L2-cacheconfiguratie

Het in cache plaatsen maakt het mogelijk het netwerkverkeer tussen de externe cacheopslag en de Commerce-toepassing te verminderen. Een standaard Commerce-instantie brengt ongeveer 300 kB per aanvraag over en het verkeer kan in sommige situaties snel toenemen tot meer dan ~1000 verzoeken.

Als u de netwerkbandbreedte voor Redis wilt verminderen, slaat u cachegegevens lokaal op elk webknooppunt op en gebruikt u de externe cache voor twee doeleinden:

  • Controleer de versie van de cachegegevens en zorg ervoor dat de nieuwste cache lokaal wordt opgeslagen
  • De nieuwste cache overbrengen van de externe computer naar de lokale computer

Commerce slaat de versie van de gehashte gegevens op in Redis, met het achtervoegsel ':hash' toegevoegd aan de gewone sleutel. Als er een verouderde lokale cache is, worden de gegevens overgebracht naar de lokale computer met een cacheadapter.

INFO
Voor Adobe Commerce op wolkeninfrastructuur, kunt u gebruiken stelt variabelenvoor L2 geheim voorgeheugenconfiguratie op.

Voorbeeld van configuratie

In het volgende voorbeeld kunt u de bestaande cachesectie in het app/etc/env.php -bestand wijzigen of vervangen.

'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'],
    ],
],

Waarbij:

  • backend is de L2 cache-implementatie.

  • backend_options is de L2-cacheconfiguratie.

    • remote_backend is de implementatie van de externe cache: Redis of MySQL.
    • remote_backend_options is de configuratie van de externe cache.
    • local_backend is de lokale cache-implementatie: Cm_Cache_Backend_File
    • local_backend_options is de lokale cacheconfiguratie.
    • cache_dir is een bestandcache-specifieke optie voor de map waarin de lokale cache is opgeslagen.

Adobe raadt aan Redis te gebruiken voor externe caching (\Magento\Framework\Cache\Backend\Redis) en Cm_Cache_Backend_File voor het lokaal in cache plaatsen van gegevens in gedeeld geheugen, met: 'local_backend_options' => ['cache_dir' => '/dev/shm/']

Adobe raadt het gebruik van de functie cache preload aan, omdat deze de druk op Redis drastisch verlaagt. Vergeet niet het achtervoegsel ':hash' toe te voegen voor toetsen die vooraf worden geladen.

Cacheopties voor stijl

Vanaf Commerce 2.4 kan de optie use_stale_cache in bepaalde gevallen de prestaties verbeteren.

Over het algemeen, is de handel-off met vergrendelingswachten aanvaardbaar van de prestatieskant, maar groter het aantal Blokken of Geheime voorgeheugen de handelaar heeft, meer tijd wordt besteed die op sloten wacht. In sommige scenario's, kunt u a aantallen sleutels * raadplegingstijd hoeveelheid tijd voor het proces wachten. In sommige zeldzame gevallen kan de handelaar honderden sleutels in het Block/Config geheime voorgeheugen hebben, zodat zelfs kleine raadplegingstijd voor slot seconden kan kosten.

Stale cache werkt alleen met een L2-cache. Met een verouderde cache kunt u een verouderde cache verzenden, terwijl een nieuwe cache parallel wordt gegenereerd. Als u verouderde cache wilt inschakelen, voegt u 'use_stale_cache' => true toe aan de bovenste configuratie van de L2-cache.

Adobe raadt aan de optie use_stale_cache alleen in te schakelen voor cachetypen die er het meest van profiteren, zoals:

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

Adobe adviseert niet toelatend de use_stale_cache optie voor het default geheim voorgeheugentype.

De volgende code toont een voorbeeldconfiguratie:

'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