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.
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.
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.
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:
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.
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 .