Strategier för distribution av statiskt innehåll
Distribution av statiskt innehåll (SCD) har stor inverkan på distributionsprocessen för butiken, vilket beror på hur mycket innehåll som ska genereras, till exempel bilder, skript, CSS, videor, teman, språkområden och webbsidor, och när innehållet ska genereras. Standardstrategin genererar till exempel statiskt innehåll under distributionsfasen när platsen är i underhållsläge, men den här distributionsstrategin tar tid att skriva innehållet direkt till den monterade pub/static
-katalogen. Du har flera alternativ eller strategier som hjälper dig att förbättra driftsättningstiden beroende på dina behov.
Optimera JavaScript- och HTML-innehåll
Ni kan använda paketering och miniatyrbilder för att skapa optimerat JavaScript- och HTML-innehåll under distributionen av statiskt innehåll.
Minimera innehåll
Du kan förbättra SCD-inläsningstiden under distributionsprocessen om du hoppar över kopieringen av statiska vyfiler i katalogen var/view_preprocessed
och genererar minified HTML vid begäran. Du kan aktivera detta genom att ange den globala miljövariabeln SKIP_HTML_MINIFICATION till true
i filen .magento.env.yaml
.
ece-tools
2002.0.13 är standardvärdet för variabeln SKIP_HTML_MINIFICATION inställt på true
.Du kan spara mer distributionstid och diskutrymme genom att minska antalet onödiga temafiler. Du kan till exempel distribuera magento/backend
-temat på engelska och ett anpassat tema på andra språk. Du kan konfigurera de här temainställningarna med miljövariabeln SCD_MATRIX .
Välja en distributionsstrategi
Distributionsstrategierna skiljer sig åt beroende på om du väljer att generera statiskt innehåll under fasen build, fasen deploy eller fasen on demand. Som framgår av följande diagram är det minst optimala alternativet att generera statiskt innehåll under distributionsfasen. Även om det finns en minifierad HTML måste varje innehållsfil kopieras till den monterade katalogen ~/pub/static
, vilket kan ta lång tid. Att generera statiskt innehåll on demand verkar vara det optimala valet. Men om innehållsfilen inte finns i cachen genereras den när den begärs, vilket ökar användarens inläsningstid. Därför är det mest optimala att generera statiskt innehåll under byggfasen.
Ställa in SCD vid skapande
Att generera statiskt innehåll under byggfasen med minifierad HTML är den optimala konfigurationen för noll-driftstopp-distributioner, som också kallas idealiskt läge. I stället för att kopiera filer till en monterad enhet skapas en länk från katalogen ./init/pub/static
.
För att generera statiskt innehåll måste du ha tillgång till teman och språkområden. Adobe Commerce lagrar teman i filsystemet, som är tillgängligt under byggfasen, men i Adobe Commerce lagras språkinställningarna i databasen. Databasen är inte tillgänglig under byggfasen. För att kunna generera det statiska innehållet under byggfasen måste du använda kommandot config:dump
i paketet ece-tools
för att flytta språkområden till filsystemet. Det läser språkinställningarna och sparar dem i filen app/etc/config.php
.
Så här konfigurerar du projektet för att generera SCD vid bygge:
-
Byt till din projektkatalog på din lokala arbetsstation.
-
Använd SSH för att logga in i fjärrmiljön.
code language-bash magento-cloud ssh
-
Flytta språkinställningar till filsystemet och uppdatera sedan
config.php
-filen. -
Konfigurationsfilen
.magento.env.yaml
ska innehålla följande värden:- SKIP_HTML_MINIFICATION är
true
- SKIP_SCD på byggscenen är
false
- SCD_STRATEGY är
compact
- SKIP_HTML_MINIFICATION är
-
Verifiera konfigurationen för Post-deploy-kroken i
.magento.app.yaml
-filen. -
Verifiera dina inställningar genom att köra den smarta guiden för det idealiska läget.
code language-bash php ./vendor/bin/ece-tools wizard:ideal-state
Ställa in SCD på begäran
Att generera SCD on demand är optimalt för ett utvecklingsarbetsflöde i integreringsmiljön. Det minskar driftsättningstiden så att du snabbt kan granska implementeringarna och köra integreringstester. Aktivera miljövariabeln SCD_ON_DEMAND i den globala scenen i filen .magento.env.yaml
. Variabeln SCD_ON_DEMAND åsidosätter alla andra konfigurationer som är relaterade till SCD och tar bort befintligt innehåll från katalogen ~/pub/static
.
När du använder SCD on demand-strategin är det bra att läsa in cachen i förväg med sidor som du förväntar dig, till exempel hemsidan. Lägg till din lista över förväntade sidor i miljövariabeln WARM_UP_PAGES i post-deploy-fasen av filen .magento.env.yaml
.
Hoppar över SCD
Ibland kan du välja att inte generera statiskt innehåll helt. Du kan ställa in miljövariabeln SKIP_SCD på den globala scenen så att andra konfigurationer som är relaterade till SCD ignoreras. Detta påverkar inte befintligt innehåll i katalogen ~/pub/static
.