Der er desværre ikke nok opmærksomhed på en vigtige ny feature i Magento 2: Modes. Vi oplever, at 70% af vores klienter har haft deres M2-site i Developer mode.
Production mode. Production mode cacher hele siden og trækker fra en fuldt udvidet pub folder. Dette giver den bedste brugeroplevelse, da denne tilstand er optimeret til at køre stabilt og effektivt. Production mode er 20-30% hurtigere end Developer mode.
Har du en Magento 2 webshop? Er du usikker på hvilket mode dit live site er i? Vi anbefaler at du verificerer, at dit site er i Production mode.
For dig der ikke er Magento nørd, kan det resultere i mange spørgsmål:
Den store forskel mellem Magento 1 og Magento 2 er introduktionen af development modes. Magento 2 modes blev introduceret med udgivelsen af Magento 2. De er varierende konfigurationer af Magento kodebase, som påvirker drift og performance på et Magento 2 site.
Magento 1 havde kun en mode til både udvikling og produktion. Magento 2 har nu tre forskellige modes: Default, Developer, og Production.
Magento har tre modes til anvendelse i et udviklings- eller produktionsmiljø: Default, Developer og Production modes. Production er klart den hurtigste. Default og Developer bruges til problemløsning og bør aldrig anvendes på et live site.
Default – giver dig mulighed for at installere Magento på en enkelt server uden at ændre indstillinger. Dette mode er ikke beregnet til et live site. Performer dårligere end Production.Developer – kun beregnet til udvikling.Production – beregnet til når sitet skal “Go Live” og køre med optimal drift.
Og et mode til vedligeholdelse:
Maintenance – forhindrer uautoriseret adgang til en Magento webshop under opdatering eller konfigurering.
Som navnet antyder benyttes Default mode når ingen anden mode er specificeret. Og det er måske derfor at den uforvarende benyttes på så mange Magento webshops. Default mode er kun tiltænkt til brug første gang man starter et Magento 2 site.
Default mode er en mellemting mellem Developer og Production. Den er indrettet til at forkorte opstartstiden for et standard Magento 2 site. Dette gøres ved at man kan udvikle uden at kompilere kode, samt at den indeholder et standardiseret sæt konfigurationer.
Default mode er der ikke nogen hovedkarakteristika til produktion. Du bør derfor skifte til Developer mode eller Production mode.Default mode logges fejl i filrapporterne på serveren. Selv om debugging er muligt, er det langt fra ideelt.Default til andet mode, kan man ikke fortryde, da Default bliver utilgængelig. Det er ikke indrettet til brug i længere tid, men har kun et formål: At gøre det nemt at starte et Magento site.pub/static kataloget. I Default mode vil cachen derfor ikke blive udnyttet fuldt ud. Siden leverer fortsat indhold dynamisk ved hver forespørgsel.Default kan du implementere Magento applikationen på en enkelt server uden at ændre i indstillingerne.
Dette kan føre til en hurtigere lancering af sitet. Du vil dog i sidste ende spare mest tid på at udføre modifikationer og vedligehold i Developer mode. Det skyldes de mere avancerede muligheder for udvikling, som beskrives nærmere i næste afsnit.
Her kan Magento udviklerne udføre alle deres udviklingsopgaver. Developer mode er kun beregnet til udvikling. Det er her, du bør tilpasse og udvide Magento.
/pub folder. Developer mode kompilerer automatisk kode. Det tillader også mere avanceret logning og debugging end i Default eller Production. Logfilerne har derudover flere detaljer.pub/static katalog hver gang de kaldes. De bliver aldrig cachet.
OBS: Brug dette mode når du modificerer eller udvider Magento 2 standardfunktioner.
Production mode er beregnet til drift i et produktionssystem. Alle live sites skal have Production mode. sHer anvendes fuld caching, som giver en stabil og hurtig drift for brugerne på sitet.
pub mappe. Production mode er optimeret til at give den bedste kundeoplevelse. Hvis det er vigtigt for dig, bør du skifte din Magento webshop til dette mode.Production. Det skyldes at fejlene kun logges på serveren og ikke vises i frontend (browseren).Production mode uses full page caching with a fully built pub folder to pull from, which results in the smooth and efficient functioning of the store. If you are concerned about offering the best customer experience, you must switch your store to this mode. Production det mest sikre mode. Her oprettes ikke et symlink til pub/static mappen. Hvis en uautoriseret bruger får adgang til pub/static for at ændre disse data, bliver det kun dubletter af disse filer.
To handlinger er essentielle når du skal skifte mellem Developer og Production mode:
1. Static Deploy – dette fylder pub/static mappen med indhold. Denne mappe bruger dit Production M2 site til at bygge og hente indhold fra.
2. Compilation – denne funktion tager sitets kode og komprimerer det til bytecode. Det betyder bl.a., at klasser hentes hurtigere, og at indlæsningshastigheden i frontend afkortes. Hvis en ondsindet bruger skulle få adgang til pub/static og lave ændringer, så kan de kun ændre dubletter af filerne. Og de bliver overskrevet ved næste statiske implementering.
Selv om du ikke er en Magento nørd, er det med vores guide nemt at tjekke hvilket mode dit Magento 2 site er i.
Trin 1.
Log på din server via SSH som ejer af Magento filsystemet.
Du skal bruge en SSH-klient på din computer.
Når du forbinder med SSH, så brug disse oplysninger:
Host: ssh.example.com
Username: example.com
Password: det som du valgte til SSH i dit kontrolpanel
Port: 22
OBS: Husk at erstatte “example.com” med dit eget domæne.
Trin 2.
Naviger til Magentos root-mappe. Typisk er dette public_html, men det er ikke altid tilfældet. Du kan altid tjekke hos din Magento hosting udbyder. De kan hjælpe med at finde mappen.
Trin 3.
Find /bin mappen i root-mappen.
Trin 4.
Kør følgende kommando: php bin/magento deploy:mode:show
Så kommer nedenstående meddelelse, der viser hvilket mode dit Magento 2 site kører i nu.
Current application mode: {mode}. (Note: Environment variables may override this value.)
Her kan {mode} være enten Default, Developer or Production
Blev du klogere på hvilket mode dit site kører i?
Hvis det viser sig at du har et live site i Developer mode, kan det løses nemt. Men det kan desværre være tegn på et større problem. Hvordan og hvorfor? Det beskriver vi nærmere i næste afsnit.
OBS: Du bør ikke foretage ændringer på dit Magento 2 site i live versionen uden først at have foretaget en test i et udviklingsmiljø.
Trin 1.
Login på SSH-site server.
Trin 2.
Naviger til sidens root, og find mappen /bin.
Trin 3.
Kør følgende kommando: php bin/magento deploy:mode:set {mode} [-s/-skip-compilation]
hvor:
{mode} er en påkrævet parameter (Developer eller Production); [-s/-skip-compilation] er en valgfri parameter. Den bruges til at springe kompilation over når man skifter til Developer mode.
I kommandoen ovenfor kan du bruge værdierne Developer eller Production til at skifte til det tilsvarende mode. Når du har skiftet sitets mode og alt virker, vil du se følgende i konsollen:
Enabled developer mode. eller Enabled production mode.
Dette er simpelt i teorien. Så får man nemt tanken – “hvorfor er mit Magento site ikke i Production mode?” Et almindeligt problem: En væsentlig fejl et sted i systemet, der bevirker, at sitet ikke virker, når kommandoen køres. Det kan tage lidt tid for en udvikler at komme i bund i dette.
Derfor ser vi ofte udviklere efterlade et site i Developer mode, så de ikke skal bruge tid – måske lang tid – på at finde problemet. Et problem, som tit viser sig at være et root problem, der kan være forårsaget af dårlig kode.
Hvad skal du være opmærksom på, når du vil skifte over til Production mode:
Når du skifter fra Developer eller Production mode, anbefaler vi at du tømmer følgende mapper. Du bør dog passe på med ikke at slette .htaccess filerne, da de registrerer konfigurationsændringer for hver mappe.
var/cachevar/dipub/staticvar/generationvar/view_preprocessed
Developer mode optimerer sitet. Det gør det nemt for udvikleren at arbejde med og integrere nye ændringer. Udvikleren kan se de nye ændringer i frontend hurtigt, og der er f.eks. intet statisk indhold i cachen. Udvikleren kan lave ændringer uden at køre langvarige, tidsrøvende kommandoer. Kommandoer, der f.eks. opdaterer de filer der læses af browseren – dvs. opdaterer websitet.
Dette betyder dog at indlæsningshastigheden for den enkelte side stiger med 20-30% på grund af ovenstående tiltag. De gør det nemmere for udvikleren at se de nye ændringer hurtigt. Men udviklerens og brugerens behov er forskellige. Der er ikke noget statisk indhold, som i praksis virker som en cache for browseren så der ikke skal indlæses så mange filer.
Dette er en stor svaghed, da en langsom webshop betyder dårligere konvertering. Brugere, der er utålmodige eller på langsommere forbindelser vil forlade sitet – uden at gennemføre deres køb.
Det er klart at et live Magento 2 site skal være i Production mode.
Jo før du skifter, jo bedre. Jo mindre sitet er tilpasset, desto nemmere er det at skifte det til Production mode.
Nu bør du have en bedre ide om forskellen mellem modes i Magento 1 og Magento 2. Du har også lært hvordan du verificerer hvilket mode dit Magento site benytter, og hvordan du skifter mode. At bruge de forskellige modes til Magento 2 giver nye muligheder i udviklingen. Det giver først og fremmest bedre performance og funktionalitet. Både i dag og i fremtiden.
Magento 2 kommer med forskellige features til at optimere performance. Dit job er at konfigurere dem korrekt.
Lad os vide, hvis du har spørgsmål eller feedback. Vi er altid på udkig efter måder hvorpå vi kan bidrage til Magento Community bliver større og dygtigere.
Vi vil også meget gerne fortælle om, hvordan Magecloud kan hjælpe din Magento webshop. F.eks. med at løse svære problemer eller forbedre sitets performance.
Kontakt os i dag, og snak helt uforpligtende med en ekspert om din forretning og dine behov.