We use cookies on this site.

Vill du bli uppringd?

  • | English
  • 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 avsèendet). 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 övegripande 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 ”uppladdnings-hastighet” 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 faktiskta 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 satelit 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 fallet 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