Hur snabb är din hemsida

Start » Aktuellt » Hur snabb är din hemsida

En snabb hemsida ger ett proffsigt intryck till din besökare och är en av de viktigaste pelarna för att lyckas digitalt. I genomsnitt (enligt forskning - se länk) lämnar en besökare din hemsida om det tar mer än 3 sekunder att ladda ner sidan till klienten (oftast menat webbläsaren i det här avseendet). För att förstå allt om det här krävs det att vi bryter ner det hela i mindre beståndsdelar. Vi kan inte skriva en fullständig dokumentation utan syftet är att ge en övergripande syn på hur det hela går till, samt vad vi kan göra tillsammans för att göra det optimalt.

Vi har:

Servermiljö

Antalet interna länkar till externa resurser (Stylesheet, JavaScript, bilder)

Externa resurser (Stylesheet, JavaScript)

Storlek på bilder (mätt i KB)

Cache

Alla dessa faktorer påverkar varandra men den viktigaste beståndsdelen är utan tvekan servermiljön. Den avgör hur snabbt det går från det att servern tar emot klientens "request" till att vara färdig med all exekvering av eventuell kod "backend" samt ha skickat ut all data till klienten.

Hur snabbt exekverar min kod?

Hur hög "uppladdningshastighet" har jag?

Innan vi går in på alla olika beståndsdelar behöver vi kortfattat förklara vissa ord och begrepp för att du lättare ska förstå texten. Skulle vi behöva förklara utförligt innebörden av varje tekniskt ord skulle det kräva en konstant läsning i en månad fram över. Vi skippar det!

DNS - Domain Name System. En hierarki av servrar som håller domännamn och IP-adresser (bland annat). Detta är skapat för att vi ska kunna skriva in exempelvis Google.se i stället för IP-adressen som Google.se egentligen (bakom kulisserna) översätts till.

IP-adress - En fysisk maskin som är uppkopplad till "nätet" måste ha en publik IP-adress för att vara åtkomlig (IP = Internet Protocol). En IP-adress består av 32 "bitar" och det finns således (2^32) - 1 olika IP-adresser att tillgå (de börjar ta slut).

Ljusets hastighet - 300 000km/s ~ i vakuum

ISP - Internet Service Provider

CMS - Content Management System

Servermiljön.

När du försöker nå en adress i din webbläsare så händer följande (kortfattat). Först måste din dator veta IP-adressen till den fysiska maskinen som den vill öppna en anslutning mot. Detta görs genom ett så kallat UDP-request till en DNS-server (oftast har din närmaste ISP detta sparat i sin lokala cache). När detta är gjort så görs det faktiska "requestet" mot servern dit domännamnet pekar. Om servern ligger 2000 mil från dig så innebär det att "bitar" (enklare förstått bytes) kommer att skickas hela vägen från dig, fram till servern. Om "bitarna" (uttalat 'bittarna' för svenska nördar, 'bitts' på engelska) färdas genom luften så kan de komma upp i ljusets hastighet. Färdas de genom ett annat medium (såsom koppar) kan hastigheten bli upp till halva ljusets hastighet. Vägen fram till servern är dock inte helt fri. Datan kommer att passera en mängd olika ISP:s och routrar samt olika medium på sin resa. I vissa fall kommer datan att färdas upp till yttre rymden och "studsa" mot en satellit innan den kommer fram till målet.

Servern kommer vidare ta emot ditt "request" och "hantera" det för att slutligen skicka tillbaka en "respons" (i detta fall en komplett html-fil) som i sin tur läses in av din webbläsare och presenterar innehållet. Hur snabbt koden "backend" exekveras beror på en mängd olika faktorer. Främst hårdvarans kapacitet, det vill säga hur snabbt den kan hantera saker och ting. Hur snabbt processorn, ramminnet och hårddisken kan arbeta. Detta är dock inte hela verkligheten. Det beror även på hur mycket datorn måste arbeta, det vill säga hur många "requests" som inkommer (Dedicated VS Shared...länk kommer). Den andra stora faktorn beror på VAD (länk kommer) maskinen i fråga behöver exekvera. Koden som i största allmänhet är skriven av utvecklare. Vi kan ta det största CMS:et på marknaden; Wordpress. Det är ett system byggt i PHP som har flera tusen rader kod. Vid varje "request" måste maskinen exekvera denna kod. För att förstå skillnaden så behöver ni läsa mer om olika system (länk kommer), kortfattat; desto mer kod, ju längre exekveringstid!

Datan har kommit fram till klienten - vad händer nu?

Låt oss säga att alla steg som beskrivits ovan är färdiga och datan faktiskt har kommit fram till klientens dator och börjat "hanteras" av webbläsaren. Webbläsaren kommer att "läsa" genom all kod för att kunna presentera den på det sätt som är tänkt...fortsättning kommer.