Best practices voor configuratie

Commerce biedt veel instellingen en gereedschappen waarmee u de responstijd op de pagina's kunt verbeteren en een hogere doorvoer kunt garanderen.

Cron Jobs

Alle asynchrone bewerkingen in Commerce worden uitgevoerd met de Linux-opdracht cron . Zie uitsnijden vormen en in werking stellenom het correct te vormen.

Indexers

Een indexeerprogramma kan in de modus Update on Save of Update on Schedule worden uitgevoerd. De modus Update on Save wordt direct geïndexeerd wanneer de catalogus of andere gegevens veranderen. In deze modus wordt ervan uitgegaan dat de update- en bladerbewerkingen in uw winkel weinig intensief zijn. Dit kan leiden tot aanzienlijke vertragingen en onbeschikbaarheid van gegevens tijdens hoge belastingen. Wij adviseren gebruikend Update op Programma voor prestatiesdoeleinden, omdat het informatie over gegevensupdates opslaat en indexatie door gedeelten op de achtergrond door een specifieke kroonbaan uitvoert. U kunt de modus van elke Commerce -index afzonderlijk wijzigen op de configuratiepagina System > Tools > Index Management . De Customer Grid -index moet altijd worden ingesteld op de Update on Save -modus.

TIP
Het opnieuw indexeren van MariaDB 10.4 en 10.6 kost meer tijd dan andere MariaDB- of MySQL -versies. Wij stellen voor het gebrek MariaDB configuratie het plaatsen te wijzigen, die in de installatieeerste vereistenwordt beschreven.

Cursussen

Wanneer u de winkel in productie start, activeert u alle cache op de pagina System > Tools > Cache Management . We raden u aan Varnish te gebruiken, omdat dit een efficiënte cacheoplossing voor productiepagina's is.

Asynchrone e-mailmeldingen

Als u de instelling voor "Asynchrone e-mailmeldingen" inschakelt, worden processen voor het uitchecken en bestellen van e-mailmeldingen naar de achtergrond verplaatst. Ga naar Stores> Settings > Configuration > Sales > Sales Emails > General Settings >Asynchronous Sending om deze functie in te schakelen. Zie Verkoop E-mailin de Gids van de Gebruiker Admin voor meer informatie.

Asynchrone gegevensverwerking

Er kunnen momenten zijn dat intensieve verkoop op een winkel plaatsvindt terwijl Commerce intensieve verwerking van bestellingen uitvoert. U kunt Commerce zo configureren dat deze twee verkeerspatronen worden onderscheiden op databaseniveau, zodat er geen conflicten ontstaan tussen lees- en schrijfbewerkingen in de corresponderende tabellen. U kunt ordegegevens asynchroon opslaan en indexeren. Bestellingen worden tijdelijk opgeslagen en in bulk naar het Order Management-raster verplaatst zonder botsingen. U kunt deze optie activeren via Stores> Settings > Configuration > Advanced > Developer > Grid Settings >Asynchronous indexing . Zie Geplande Updates van het Netin de Gids van de Gebruiker Admin voor meer informatie.

WARNING
Het Developer lusje en de opties zijn slechts beschikbaar op wijze van de Ontwikkelaar. Adobe Commerce op wolkeninfrastructuursteunt niet Developer wijze.

Asynchrone configuratie opslaan

Voor projecten met een groot aantal opslag-vlakke configuraties, kan het bewaren van een opslagconfiguratie een ongeordende hoeveelheid tijd nemen of in een onderbreking resulteren. De module Async Config laat asynchrone configuratie toe bewaart door een kroonbaan in werking te stellen die een consument gebruikt om sparen in een berichtrij te verwerken. AsyncConfig is gehandicapt door gebrek.

U kunt AsyncConfig toelaten gebruikend de bevel-lijn interface:

bin/magento setup:config:set --config-async 1

Met de opdracht set schrijft u het volgende naar het app/etc/env.php -bestand:

...
   'config' => [
       'async' => 1
   ]

Begin de volgende Consumenten beginnen de berichten in de rij op een eerste-in-eerste-uit basis te verwerken:

bin/magento queue:consumers:start saveConfigProcessor --max-messages=1

Uitgestelde voorraadupdate

In tijden van intensieve verkoop, Commerce kan voorraadupdates met betrekking tot orden vertragen. Dit minimaliseert het aantal verrichtingen en versnelt het proces van de orderplaatsing. Deze optie is echter riskant en kan alleen worden gebruikt wanneer Backorders in de winkel worden geactiveerd, omdat deze optie tot negatieve voorraadhoeveelheden kan leiden. Deze optie kan de prestaties van de afhandelingsstromen aanzienlijk verbeteren voor winkels die hun voorraad gemakkelijk op aanvraag kunnen hervullen. Als u uitgestelde stock-updates op uw site wilt activeren, gaat u naar Stores> Settings > Configuration > Catalog > Inventory > Product Stock Options >Use Deferred Stock Update . Zie Leidend Inventarisin de Gids van de Gebruiker van Adobe Commerce voor meer informatie.

INFO
Deze optie is alleen beschikbaar als Backorder with any mode is geactiveerd.
INFO
Deze optie werkt ook met Asynchrone ordeplaatsingin combinatie met Inventory management.

Optimalisatie-instellingen aan de clientzijde

Als u de responsiviteit van de winkel van uw Commerce -instantie wilt verbeteren, gaat u naar Beheer in de modus Standaard of Ontwikkelaar en wijzigt u de volgende instellingen:

Stores-> Configuration -> Advanced -> Developer:

Instellingengroep
Instelling
Waarde
Rasterinstellingen
Asynchrone indexering
Inschakelen
CSS-instellingen
CSS-bestanden miniaturen
Ja
JavaScript Instellingen
JavaScript Bestanden miniaturen
Ja
JavaScript Instellingen
JavaScript Bundelen inschakelen
Ja
Sjablooninstellingen
Minify HTML
Ja
INFO
Het Developer lusje en de opties zijn slechts beschikbaar op wijze van de Ontwikkelaar. Adobe Commerce op wolkeninfrastructuursteunt niet Developer wijze.

Wanneer u de optie Enable JavaScript Bundling activeert, kunt u Commerce toestaan alle JS-bronnen samen te voegen tot één of een set bundels die in winkelpagina's worden geladen. Het bundelen van JS resulteert in minder verzoeken aan de server, wat paginaprestaties verbetert. Het helpt de browser JS middelen van het geheime voorgeheugen op de eerste vraag en hergebruik hen voor allen verder het doorbladeren. Deze optie brengt ook luie evaluatie, aangezien al JS als tekst wordt geladen. Het initieert analyse en evaluatie van code slechts nadat de specifieke acties op de pagina worden teweeggebracht. Nochtans, wordt dit het plaatsen niet geadviseerd voor opslag waar de eerste tijd van de paginading uiterst kritiek is, omdat al inhoud JS op de eerste vraag zal worden geladen.

INFO
Zie CSS en Javascript dossieroptimalisering op Adobe Commerce op wolkeninfrastructuur en Adobe Commercein Adobe Commerce Help Center_ voor meer informatie over het optimaliseren van CSS en Javascript.

Bunduiteinden

  • Wij adviseren dat u derdehulpmiddelen voor minificatie en bundeling (als r.js) gebruikt. Commerce ingebouwde mechanismen zijn niet optimaal en worden verzonden als alternatieven voor fallback.
  • Het activeren van het HTTP/2-protocol kan een goed alternatief zijn voor het gebruik van JS-bundeling. Het protocol biedt veel van dezelfde voordelen. Het wordt door gebrek toegelaten in Adobe Commerce op de projecten van de wolkeninfrastructuur.
  • We raden u niet aan vervangen instellingen te gebruiken, zoals het samenvoegen van JS- en CSS-bestanden, omdat deze alleen zijn ontworpen voor JS die synchroon zijn geladen in de sectie HEAD van de pagina. Het gebruik van deze techniek kan het bundelen veroorzaken en requireJS logica om verkeerd te werken.

Validatie van klantsegmenten

De handelaren die een groot aantal klantensegmentenhebben kunnen significante prestatiesdegradatie met klantenacties, zoals klantenlogin ervaren en producten toevoegen aan de kar.

De acties van de klant brengen een bevestigingsproces voor klantensegmenten teweeg, wat prestatiesdegradatie kan veroorzaken. Standaard valideert Adobe Commerce elk segment in real-time om te bepalen welke klantsegmenten overeenkomen en welke niet.

Om prestatiesdegradatie te vermijden, kunt u de Real-time Check if Customer is Matched by Segment optie van de systeemconfiguratie aan Nr plaatsen om klantensegmenten door één enkele gecombineerde voorwaardeSQL vraag te bevestigen.

Ga naar Stores> Settings > Configuration > Customers > Customer Configuration > Customer Segments >Real-time Check if Customer is Matched by Segment om deze optimalisatie in te schakelen.

Dit het plaatsen verbetert de prestaties van de bevestiging van het klantensegment als er vele klantensegmenten in het systeem zijn. Nochtans, werkt het niet met gespleten gegevensbestandimplementaties of wanneer er geen geregistreerde klanten zijn.

Onderhoudsschema voor databases database

We raden u aan periodieke databaseback-ups uit te voeren voor uw instanties van Staging en Productie. Vanwege de I/O-intensieve aard van back-upbewerkingen kunnen er langzamere back-ups en potentiële problemen optreden. Als databaseprocessen voor meerdere omgevingen tegelijkertijd worden uitgevoerd, kan dit mogelijk trager verlopen als gevolg van conflicten met beschikbare bronnen.

Voor betere prestaties, planning uw steunen om achtereenvolgens, één voor één, op off-piektijden te lopen. Met deze methode vermijdt u I/O-conflicten en verkort u de tijd om deze te voltooien, vooral voor kleinere exemplaren, grotere databases, enzovoort.

Bijvoorbeeld, adviseren wij het plannen van een steun van uw gegevensbestand van de Productie die door het Staging gegevensbestand wordt gevolgd wanneer uw opslag lagere bezoeken ontmoet.

Limiet voor het aantal producten in het raster

Als u de prestaties van het productraster voor grote catalogi wilt verbeteren, kunt u het beste het aantal producten in het raster beperken met de instelling Stores> Settings > Configuration > Advanced > Admin > Admin Grids >Limit Number of Products in Grid voor de systeemconfiguratie.

Deze instelling voor systeemconfiguratie is standaard uitgeschakeld. Door het toe te laten, kunt u het aantal producten in het net tot een specifieke waarde beperken. Records Limit is een aanpasbare instelling met de standaardwaarde 20000 .
Wanneer de instelling Limit Number of Products in Grid is ingeschakeld en het aantal producten in het raster groter is dan de recordlimiet, wordt de beperkte verzameling records geretourneerd. Wanneer de limiet is bereikt, worden de totale gevonden records, het aantal geselecteerde records en de pagineringselementen verborgen achter de rasterkop.

Wanneer het totale aantal producten in het raster beperkt is, heeft dit geen invloed op de massaacties van het productraster. Het beïnvloedt slechts de presentatielaag van het productnet. Het raster bevat bijvoorbeeld een beperkt aantal 20000 -producten, de gebruiker klikt op Select All , selecteert de Update attributes -massaactie en werkt een aantal kenmerken bij. Hierdoor worden alle producten bijgewerkt, niet de beperkte verzameling van 20000 -records.

De beperking van het productraster is alleen van toepassing op productverzamelingen die worden gebruikt door UI-componenten. Deze beperking geldt dus niet voor alle productrasters. Alleen diegenen die Magento\Catalog\Ui\DataProvider\Product\ProductCollection gebruiken.
U kunt verzamelingen van productrasters alleen op de volgende pagina's beperken:

  • Catalogusproductraster
  • Raster Verwante producten/producten voor meerdere verkooppunten toevoegen
  • Producten toevoegen aan bundelproduct
  • Producten toevoegen aan productgroep
  • Beheerderspagina voor bestelling maken

Als u niet wilt dat het productraster wordt beperkt, raden we u aan om filters nauwkeuriger te gebruiken zodat de resultatenverzameling minder items bevat dan Records Limit .

recommendation-more-help
c0c5bbed-4957-4162-81bc-120c837a1894