Læsetid: 7-8 minutter. Skrevet af Lars E. D. Jensen. September 2017.

Spilder jeres website tiden?

Nu handler det om hastigheden på jeres website og hvordan den kan forbedres. Alle kender det, et langsomt website bliver meget hurtigt frustrerende at klikke rundt på. Tålmodighed online findes hos ganske få besøgende.

Derfor er det også logisk at et utal af målinger, undersøgelser og rapporter fra bl.a. Google konkluderer at en meget stor procentdel af alle besøgende forlader websitet, hvis svartiden er langsom. Typisk 3 sekunder eller længere. Og med tendensen at kunden i dag selv tager en markant stor del af købsprocessen ved f.eks. at undersøge en leverandørs website, så er hurtige svartider vigtigere end nogensinde før.

Følgende belyser, hvordan svartider hænger sammen med flere ting, bl.a. integrationen mellem webapplikation og hostingplatform.

SEO og UX

Langsomme websites lægger også an til et frit fald på søgemaskiner som Google, hvis lignende og måske konkurrerende websites er hurtigere.
Et langsomt website kan potentielt forsvinde fra toppen af søgeresultaterne.
Hurtige svartider giver websitets besøgende en bedre oplevelse, og Google bliver glad.

Hypotese-alarm!

Med en svartid på 5 sekunder er ventetiden samlet set næsten 14 timer for et website med 10000 besøgende per måned.
Mindskes svartiden med bare 3 sekunder sparer websitet sine besøgende for over 8 timers ventetid! 

Sådan måles svartiden

Der findes mange online værktøjer, som kan måle websitets svartider.
En browser i "udvikler-tilstand" kan også vise svartider, og meget detaljerede oplysninger om bl.a. indlæsningstider af ressourcerne på et website (javascripts, css-filer og fonte m.v.). Anvendes browser til at måle svartider er det vigtigt at være på en hurtig internetforbindelse. Se eksempel på Billede 1.
Af online værktøjer findes f.eks. Google Pagespeed, Pingdom, StatusCake og GTmetrix. Bl.a. GTmetrix giver fornuftige forslag til tekniske forbedringer.

Forvent ikke at svartiden på et website altid er den samme ved hver måling og generelt. Der er mange parametrer, der har indflydelse på svartiden. 

Billede 1 Browser i "udvikler-tilstand".

Svartiden påvirkes af mindst fire ting

Fire ting som man heldigvis kan gøre noget ved.

1. Geografi

En måling fra USA til et website placeret på en server i Europa kan variere meget pga. trafikkens vilkårlige rute er over en længere fysisk afstand på Internettets infrastruktur.
På Billede 2 kan man se forskellige måleresultater fra samme lokaliteter på forskellige tidspunkter.
Hvis websitets målgruppe er global, så er det muligt at få hurtigere svartider ved at konfigurere sit website til at bruge et CDN (Content Delivery Network).

Et CDN gør ganske enkelt det at websitet gemmes (caches - klik her for at forstå konceptet cache) fysisk tættere på besøgende i USA eller Australien, og derved indlæses websitet lige så hurtigt som i Danmark eller Europa.

Der findes mange udbydere af CDN, bl.a. Akamai, Cloudflare, MaxCDN m.fl. Udbyderne af CDN differentierer sig på et utal af features, som f.eks. giver selv meget dynamiske sider hurtige svartider globalt, eller kombinerer CDN med sikkerhed og beskytter websitet mod DDoS- og hackerangreb.

Billede 2 Svartider over tid fra forskellige lokaliteter.

2. Mange besøgende

Mange besøgende er positivt, men er der FOR mange besøgende på websitet på én gang, så belastes de serverressourcer websitet driftes på, og det kan resultere i langsomme svartider. Naturligvis er det et luksusproblem, og der er sandsynligvis budget til at gøre noget ved det.

Besøgende er jo omsætning :) 

3. Kompleksitet (kode og databasekald)

Flaskehalse, og dermed langsomme svartider, kan også opstå i den måde et website er implementeret på. Det kan f.eks. være konfiguration, kode eller databasekald, som forholdsmæssigt set optager for mange serverressourcer.

En server har altid en begrænset mængde ressourcer i CPU (regnekraft), hukommelse og diskplads. Er websitets forside implementeret med kode, som f.eks. anvender 100 MB hukommelse, når den indlæses, så kan det ende galt med blot 200 samtidige besøgende på en server med for lidt hukommelse. Hvis det er rigtig galt med koden, så skal der måske kun få besøgende til at bringe websitet i knæ. Optimeres koden til f.eks. kun at anvende 5 MB hukommelse, så udnyttes serverressourcerne langt bedre, og websitet kan holde til langt flere samtidige besøgende.

Endelig kan indlæsning af et samsurium af lokale og eksterne ressourcer (fra cloud services, widgets, bannere osv.) også påvirke svartiderne. Derfor er det supervigtigt kun at indlæse lokale og eksterne ressourcer på de sider på websitet, hvor de rent faktisk skal anvendes og ikke på alle sider. F.eks. 30 moduler i et CMS, som alle indlæses på alle sider påvirker svartiderne. Oprydning i webapplikationen sparer sekunder.

4. Serverressourcer og båndbredde

Meget ofte kan man optimere på websitets konfiguration, kode eller anvende cache-teknikker, men det er ikke altid nok, og så er det tid til at skalere op på hosting, enten med flere serverressourcer eller et CDN.

Horisontal skalering betyder at websitet afvikles på flere servere på én gang vs. vertikal skalering, som er skalering fra en mindre server til en kraftigere server. Horisontal skalering er mere fleksibel, da en server i sit design er en flaskehals med begrænsede ressourcer.

Med horisontal skalering startes blot endnu server op som hjælper med at løfte i flok.
Afvikles webapplikationen kun på én server er der risiko for single-point-of-failure, og problemer, som er tidskrævende at løse, hvis serveren ikke kan udvides med flere ressourcer. 
I DCmedia Hosting ønsker vi naturligvis en problemfri hverdag for vores kunder ift. drift af deres website, da det i sidste ende giver os færre problemer at løse. Derfor skalerer vi med Micusto Cloud v2 horisontalt og eliminerer derved mange flaskehalse og problemer, samt giver mulighed for en hurtig omstilling til flere ressourcer, hvis det er nødvendigt.

På sigt kan det altid betale sig at optimere så meget som muligt, da det i sidste ende kan resultere i store besparelser på hosting, og hurtige svartider fastholder besøgende og giver bedre bundlinie.

Båndbredden ud til den besøgende har også betydning for svartider. Hvis en besøgende f.eks. browser via mobilt internet er hastigheden ofte langsommere end ved fast internetforbindelse.

Mobilt internet findes i øjeblikket med flere teoretiske hastigheder, 2G/3G/4G, men den reelle hastighed varierer meget alt efter mobildækning. Langsomme svartider på en 3G-forbindelse kan man derfor ikke gøre så meget ved, da hastigheden er teknisk begrænset ved modtagerforholdene for den mobile enhed. Det er muligt at optimere websitet, så det fylder minimalt ved mobil browsing, dog vil denne form for optimering sandsynligvis være mindre betydningsfuld for svartiderne på sigt, da fremtidens mobile internet, 5G, lover vilde hastigheder, mange gange hurtigere end de faste internetforbindelser vi anvender i dag. Desværre er 5G dog stadig en del år ud i fremtiden (tidligst omkring 2020).

Det betyder ikke man blot skal hælde på, og være ligeglad med størrelse af billeder osv. Gå altid efter et minimalt båndbreddeforbrug, det sparer potentielt sekunder uanset om internetforbindelsen er meget hurtig.

Hold øje med svartiden

Det er en god idé at være proaktiv og overvåge svartiden på sit website løbende, så det er muligt at reagere, hvis noget uforudset påvirker svartiden. Der findes både gratis- og betalingstjenester, som kan måle svartider og simulere flere samtidige besøgende. Mange services tilbyder monitorering af svartiden f.eks. hvert 5. minut, dvs. man kan få en SMS eller e-mail, hvis websitet er langsomt. En overvågning kan afsløre om der f.eks. er tidspunkter på dagen eller specifikke sider, hvor der skal gøres en indsats ift. optimering.
Søgemaskiners indeksering af et website sker over hele døgnet, og kan i perioder være hård, og dermed sløve websitet, da det i praksis er det samme som et antal større samtidige besøgende.

Flest flaskehalse i konfiguration, kode og databasekald

Når vi i DCmedia Hosting arbejder med at forbedre svartider på et website, så gemmer årsagen til problemet sig oftest i konfiguration (herunder webcache!), kode eller databasekald. Med løbende udgivelser af nye versioner af webapplikationer og ud fra kunders feedback, så retter vi naturligvis også løbende til på vores egenudviklede hostingplatform Micusto Cloud v2 ift. at forbedre svartider og integration til WordPress, Drupal, TYPO3 m.fl. Et simpelt 301-redirect kan f.eks. gøres meget hurtigere i hostingplatformen end i webapplikationen.

Implementeres et website rigtigt og anvendes cache korrekt på alle niveauer (bl.a. webcache med cache control headers, PHP cache, database cache), så vil der sjældnere opstå problemer med langsomme svartider.

Det er naturligvis ikke for sent at rette op ift. langsomme svartider, men udgangspunktet er langt bedre, hvis der under udviklingen af websitet prioriteres at bruge tid på at overveje implementering af features og design vs. påvirkning af ydelse/svartider. Det kræver indsigt og erfaring hos udvikleren, og ikke mindst indsigt i interaktionen mellem webapplikationen og hostingplatformen.

Er der truffet nogle forkerte valg et tidligt tidspunkt i udviklingsprocessen kan det være dyrt at rette til. Typisk vil omkostningerne hertil enten ende hos udvikleren eller ejeren af websitet, og det er ingen interesseret i sker. Så insistér på løbende tests af svartider, målinger på belastning af CPU og hukommelsesforbrug uanset om man er udvikler eller ejer af websitet. Find ud af hvordan websitet performer ved simulering af f.eks. 100+ samtidige besøgende, og identificér flaskehalse før websitet sættes live. Besøgendes oplevelse af websitet er ikke kun design og brugervenlighed.

I DCmedia Hosting hjælper vi kunder med at finde årsagen til hvorfor deres websites er langsomme, og vi hjælper også med at gøre svartiderne hurtigere. Det tager som regel ikke lang tid for os at identificere, hvor flaskehalsen gemmer sig. Nogle gange, og heldigvis sjældnere, tager det nogle timer, men så er kompleksiteten i webapplikationen enten høj, eller også er der dømt "spaghetti-kode".

Hurtige lappeløsninger i webapplikationen bider én i halen på et tidspunkt, og meget hurtigt, hvis et website har success. Så det kan kun betale sig at kode ordentligt fra start, og analysere alle tekniske lag, faktisk lige fra data læses fysisk fra harddisken til sideindlæsningen er fuldført i en browser.
Herimellem kan der ske 1000 ting, som kan gøre et website langsomt.

Systemer er dog meget forskellige, og kræver forskelligt fundament. En webshop, som skal levere dynamiske sider ved næsten hver sideindlæsning i browseren, og med 100.000 produkter, kræver typisk flere serverressourcer og specielle softwarekomponenter end en side, der næsten er statisk og kan caches.

  • Optimér på de fire ting ift. webapplikationen.
  • Brug en hostingplatform, der er 100% automatiseret, skalerer horisontalt, samler de rigtige softwarekomponenter og teknologier, der kan integreres med webapplikationen out-of-the-box, WordPress, TYPO3, Drupal m.fl.
    F.eks. webcache i RAM, på SSD eller object caching i hukommelse til hurtigere svartider på dynamiske sider, som typisk er sider med mange kald til databasen.

Ved spørgsmål til svartider, evt. på eget website, send gerne mail eller kontakt via LinkedIn.

Vil du vide mere om vores services? Kontakt os