the need for speed

66
The Need for Speed Johan Terpstra FAS 25/03/2011 [email protected] Turbo-charge je website...

Upload: mediact-e-commerce-specialist

Post on 27-May-2015

1.043 views

Category:

Technology


3 download

DESCRIPTION

Het belang van laadsnelheid van webwinkels. Niet alleen voor de zoekmachines maar ook voor de bezoekers. Een langzame webwinkel heeft een negatieve lange termijn effect op de bezoeker. Een erg interessante Friday Afternoon Session (FAS) door Johan Terpstra.

TRANSCRIPT

Page 1: The Need For Speed

The Need for Speed

Johan Terpstra

FAS 25/03/2011

[email protected]

Turbo-charge je website...

Page 2: The Need For Speed

Wie is Johan Terpstra?

• 29 Jarige Fries te Londen• Operations Director @ Intus Healthcare• In E-Commerce sinds 2003• 60,000+ Transacties• Paar Miljoen Omzet• 4 E-Commerce Systemen• 17 Online Winkels• Vele FOSS Code Contributies• 100,000+ Regels PHP• Brin & Page Rijk Gemaakt• Door klanten met de dood bedreigd• Maar ook klanten hun leven/huwelijk/carriere gered!

Heeft hij hier wel verstand van?

Page 3: The Need For Speed

Programma

Waarom is websitesnelheid belangrijk? Feiten & case studies.

Hoe werkt het internet eigenlijk? Wat maakt een webpagina?

Hoe kun je meten hoe snel je webpagina's zijn? Wat beinvloedt die snelheid?Hoe verbeteren we die snelheid?

Discussie / kliniek.

Weekend!

Page 4: The Need For Speed

Waarom snelheid cruciaal is...

Om bezoekers aan te trekken - ranking factor

Om bezoekers te behouden - voldoen aan verwachting

Om bezoekers terug te laten komen - indruk achterlaten

Omdat het kan / een nerd dat fascineert :blush:

= Blije Bezoeker = Geld!

Page 5: The Need For Speed

Snelheid Toegang tot InformatieVroeger:

    Img: Kevin O'Mara @ Flickr

5-10 Jaar Geleden

Img: mpclemens @ Flickr

Page 6: The Need For Speed

Snelheid Toegang tot InformatieNu:

    Img: www.seomoves.org

2020 ???

 Img: Minority Report - 20th Century Fox

Page 7: The Need For Speed

1 GB Downloadenhttp://www.onlyinfographic.com/2010/download-speeds-through-the-years/

1985 308 Dagen 16 Uren 5 Minuten 26 Seconden  .3 kb/s

1990 9 6 13 20 10 kb/s -97%

1995 2 19 1 24 33 kb/s -70%

2000 2 13 20 1,000 kb/s -97%

2005 26 40 5,000 kb/s -80%

2010 1 20 100,000 kb/s -85%

2015 ??? 24 330,000 kb/s -70%

Page 8: The Need For Speed

Grootte Webpagina

Gemiddeld 320kb Volgens Google 1

 Vervijfvoudigd tussen 2003 en 2009 2

 1. http://code.google.com/speed/articles/web-metrics.html

2. http://www.websiteoptimization.com/speed/tweak/average-web-page/

 

 

Page 9: The Need For Speed

Trend

Straks ligt het aan de internetverbinding niet meer

Bottleneck is hardware, zowel server als client-side

Server kan het zo snel niet leveren

Client browser kan het zo snel niet renderen

Slimme pagina-opbouw kan daarbij helpen!

Page 10: The Need For Speed

Waarom snelheid?

Om bezoekers aan te trekken!

Page 11: The Need For Speed

Google Aankondiging 9-4-2010http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html

Page 12: The Need For Speed

Snelheid als SEO Factor

• Ondergeschikt aan relevantie• Toen slechts 1% van US queries• Niet duidelijk in hoeverre dat uitgebreid is• Meer een teken van wat komen gaat• Kwaliteit is een ervaring

  Ook indirect effect, meer links naar je site = betere SEO Allicht ooit onderdeel van AdWords Quality Score

Page 13: The Need For Speed

Snelheid & Verwachtingen

Oftewel snelheid vs "het laatje"

Snelheid van pagina's heeft een directe invloed op bezoekersgedrag

Site eenmaal gevonden, verwacht men een rappe ervaring

Mensen worden steeds ongeduldiger!

Page 14: The Need For Speed

Onderzoek naar SnelheidBing:     2 sec. vertraging = 1.8% minder queries per user    Ook 4.3% minder omzet per user

Google:    400ms vertraging = -0.59% queries per user    Na verwijderen vertraging nog steeds -0.21% lange termijn effect

AOL:     7.5 Pagina's/bezoek voor top 10% snelle sites    6 P/b voor sub-top    5 P/b voor de langzaamste

Shopzilla:    Van 7 sec naar 2 sec = +25% pageviews    En +7-12%  Omzet    En -50% Hardware kostenBron: http://radar.oreilly.com/2009/07/velocity-making-your-site-fast.html

Page 15: The Need For Speed

Onderzoek naar Snelheid

Akamai 2009 2 Seconden is het nieuwe tolerantieniveau (was 4)40% van bezoekers tolereren 3 seconden niet in online winkel

79% komt niet weer terug na langzame ervaring

27% komt ook niet meer naar fysieke winkel

        Bron: http://www.akamai.com/html/about/press/releases/2009/press_091409.html

Page 16: The Need For Speed

Tolereren jullie bezoekers jullie snelheid?

Laadt elke pagina onder 2 seconden?

Page 17: The Need For Speed

Snelheid Stimuleert "Ontdekking"

Een snelle site moedigt aan tot rondklikken

Geen vertraging = geen straf voor avontuurlijk zijn

Aangemoedigd door snelheid bezoekt men meer pagina's

Terug-knop is een vertrouwd redmiddel

Meer rondklikken = meer exposure aan producten/diensten/boodschap

Meer pagina's gezien = grotere winkelwagenwaarde

Page 18: The Need For Speed

Snelheid & Conversie

Amazon

100ms Vertraging verlaagt omzet met 1%

Omzet is ruim 10 miljard USD

100ms Vertraging = 117 miljoen dollar minder!

           Bron: http://www.svennerberg.com/2008/12/page-load-times-vs-conversion-rates/

Page 19: The Need For Speed

Snelheid & Conversie

Mozilla FireFox

Op Download FireFox pagina verhoogde Mozilla conversie met 15.4% door 2.2 seconden van de laadtijd af te halen. Met hun bezoekersaantallen betekent dat 60m meer downloads per jaar.

               Bron: http://blog.mozilla.com/metrics/2010/04/05/firefox-page-load-speed-–-part-ii/

Page 20: The Need For Speed

Snelheid & Conversie

BuyOnlineNow.com • Laadtijd verbeterd met 69% • Tijd-tot-Renderen verbeterd met 76%• Site search snelheid verbeterd met 23%

 Resultaat:• Bounce rate omlaag 13.4%• Conversie omhoog 1.41%• Gemiddele waarde bestelling omhoog 8.39%• Producten verkocht per bestelling omhoog 9.55%

  Bron:  http://www.aptimize.com/customers/buy-online-now/case-study

Page 21: The Need For Speed

Snelheid dus toch belangrijk!

Om bezoekers aan te trekken

Om bezoekers te behouden (bounce rate)

Om bezoekers van (meer van) hun geld te scheiden!

Om bezoekers loyaal te maken

Om hosting kosten te besparen

       Img: http://www.zeta.net/search-engine-marketing/speed-up-website-ranking.html

Page 22: The Need For Speed

Je site moet dus sneller...

Waar beginnen we?

Page 23: The Need For Speed

Hoe werkt het internet eigenlijk?

Client

Server

ISP

Page 24: The Need For Speed

Je vraagt een webpagina op...

Met de ISP...Hoe kan ik u helpen?

Hallo, met FireFox van 84.53.123.228 ik ben op zoek naar www.mediact.nl, mag ik daar een kopietje van?

Page 25: The Need For Speed

DNS Komt Eerst - Waar is wat?

Jawel, even kijken hoor, wij werken alleen maar met nummers dus ff 

mediact's IP adres opzoeken... 

62.197.130.88Bedankt! Daar kan ik wat mee... GET 62.197.130.88

Page 26: The Need For Speed

Firewall zegt OK, OS gaat Webserver zoeken

Ja hallo, met de firewall van MediaCT's server... Wie wil dit allemaal dan wel niet weten? Oh, 84.53.123.228, dat mag in dit geval. Kom maar binnen!

Ja hallo, met de OS van de server. Ik ben lekker up to date dus ik zal dit

ff snel regelen voor je! Even kijken of de web server draait

en luistert op port 80...

Page 27: The Need For Speed

Apache Webserver Doet Ook Mee

Ja, Apache hier... Ik sta niet bekend als de snelste dus neem me niet kwalijk, ik zoek even op of er 

een index html of PHP pagina is nadat ik de virtual domain gemapped heb naar de juiste doc root. Gevonden! Even

kijken wat htaccess zegt trouwens, OK niks speciaals, ik ga de file opvragen. Eventjes wachten tot OS de harde schijf aan kan sturen om die file te vinden en in te lezen. Was het maar

een SSD! Daar issie al, het is een PHP file, lijkt van Joomla te zijn, zal ff kijken wat 

Joomla hier van zegt...

Page 28: The Need For Speed

Joomla Praat Met MySQL Database

Ja PHP applicatie Joomla hier, ik zal even kijken wat we precies met deze pagina in gedachten hadden, vraag ff rond

aan de verscheidene modules of zij nog input hebben en ik neem even contact op

met de database met wat vraagjes...

MySQL database hier, dag Joomla, jij weer? Nee, die

homepage is niet veranderd, hier heb je de tekst weer.

Page 29: The Need For Speed

Webserver Brengt Alles Samen

Bedankt, ik geef het door. Er zijn ook nog wat PHP includes, zal ff de OS vragen of hij die kan vinden op de

HD. Ja, ff inlezen, OK, wat extra functionaliteit, ik breng het allemaal

samen in 1 makkelijk document, klaar, downloaden maar...

FireFox hier, ik trek hem binnen hoor. Heb hem, even kijken of dit het is of dat er nog meer requests gemaakt moeten worden... Ja dus... JS, CSS, plaatjes, laten we

even kijken of die er ook allemaal zijn, dan breng ik het allemaal samen, ga ik het zo renderen 

en laat ik het geheel mooi zien.

Page 30: The Need For Speed

Alles Herhaalt Zich; DNS, GET, Firewall, OS, Webserver

CSS, JS, Images, Cobrowser, Google Analytics, ff kijken of we die al in

de cache hadden en zo ja, of we die wel mogen hergebruiken gezien de datum

vandaag. Geen cache, dus vers binnenhalen...

Page 31: The Need For Speed

Eindelijk, Alles Is Binnen!

OK ik heb de broncode, bits en bytes van dit alles, ga het nu via die

instructies natekenen voor je. Zal meteen ff een kopietje van alle onderdelen in de cache stoppen, mocht je hier later weer

komen dan skippen we voorgaande stappen.

Page 32: The Need For Speed

Hoe meet je al die stappen?

Meten = Weten

Page 33: The Need For Speed

Webpagina Laadtijd Meten

• YSlow• Google Page Speed• Google Webmaster Tools• MageSpeedTest.com• Apache AB• Siege

 Zie ook:http://code.google.com/speed/tools.html

Page 34: The Need For Speed

Yahoo! YSlow

Page 35: The Need For Speed

YSlow Grading

Page 36: The Need For Speed

YSlow Components

Page 37: The Need For Speed

YSlow Statistics

Page 38: The Need For Speed

YSlow Tools

Page 39: The Need For Speed

YSlow Analyse & Tools

• Een complete tool• Gratis• "Before & After" Vergelijking• Gedetailleerd• Veelomvattend • Met uitgebreide tips en uitleg• Tools om zaken meteen te verbeteren• Niet zo zeer een snelheidsmeting, alleen totaal

Page 40: The Need For Speed

WebPageTest.org

Page 41: The Need For Speed

WebPageTest Waterfall View

Page 42: The Need For Speed

WebPageTest Checklist

Page 43: The Need For Speed

WebPageTest.org

• Uitgebreid• Gedetailleerd• Gratis• Visueel• Duidelijk Zichtbaar in 1 Oogopslag• Zie Bottleneck Meteen• Per Onderdeel Snelheid Gemeten

Page 44: The Need For Speed

Google Webmaster Tools Labs

Page 45: The Need For Speed

Google Webmaster Tools

• Historie• Zelf Data Bijhouden - Voor & Na• Wat Google Ziet/Ervaart = SEO

Page 46: The Need For Speed

Apache AB Benchmark

Page 47: The Need For Speed

MageSpeedTest.com / Siege

Page 48: The Need For Speed

Wat Beinvloedt de Snelheid?

Een groot aantal factoren!

Page 49: The Need For Speed

Server-Side Hosting

• Hardware Webserver• Hardware DB Server• Networking• Firewall• RAM• HD• Operating System• Webserver• Bandwidth

Page 50: The Need For Speed

Server-Side Application Layer

• Server-side Code (PHP)• Output HTML/JS/CSS Code• DB Queries• Includes = File Reads

Page 51: The Need For Speed

Client-Side

• Internetverbinding / ISP• Browser• Hardware PC• Firewall• Programma's Open

Page 52: The Need For Speed

Opmaak Webpagina

HTML, CSS, JS, Images

Page 53: The Need For Speed

Minder HTTP Requests

Page 54: The Need For Speed

JS/CSS Combineren & Minifyen

Heel Simpel: • Samenvoegen wat samen kan = Minder Requests• Spaties & Enters Verwijderen = Minder Bytes

 Tools als YSlow en vele anderen die dit automatisch doen

Page 55: The Need For Speed

CSS Sprites

Maak 1 plaatje en splits deze met CSS = 1 HTTP Request

Net als Image Maps

Page 56: The Need For Speed

Content Delivery Network

Breng kopies van files dichter bij bezoekers

Page 57: The Need For Speed

GZip Compressie

Page 58: The Need For Speed

GZip Aanzetten in .htaccessImg: http://css-tricks.com/snippets/htaccess/active-gzip-compression/

Page 59: The Need For Speed

Pre-Fetching

Intelligent Vooruitdenken

Page 60: The Need For Speed

Pre-Fetching

• Je Homepage laadt in 3 seconden• Na 1 seconde kan men al beginnen met lezen• Men leest gemiddeld voor 5 seconden • De browser is 3 seconden "Idle"

 1: Laden, 2: Laden & Lezen, 3: Laden & Lezen, 4: Lezen, 5: Lezen, 6: Lezen; 4, 5 & 6 niks te laden

Gebruik die 3 seconden om data vooruit the downloaden!

70% Bezoekt pagina B na homepage = imgs pre-fetchen...

Page 61: The Need For Speed

Pre-Fetching Data

FireFox:     <link rel="prefetch" href="/images/bigpic_page_b.jpeg">    Zodra FireFox stationair draait, gaat hij prefetch links downloaden. Zie ook:     https://developer.mozilla.org/en/Link_prefetching_FAQ

   http://en.wikipedia.org/wiki/Link_prefetching

Page 62: The Need For Speed

Pre-Fetching DataCross-Browser met JSBron: http://www.4thkingdom.com/public/computers/789073-web-site-speed-prefetching-images-css/view-post.html

Page 63: The Need For Speed

Pre-Fetching Data

Met JQuery:Via: http://www.devarticles.com/c/a/JavaScript/Using-jQuery-to-Preload-Images-with-CSS-and-JavaScript/2/

Page 64: The Need For Speed

Pre-Fetching Hostname Resolution

Internet Explorer 9 biedt "Page-Initiated Pre-Resolution"

Geen data, maar DNS. Vooral handig voor externe src files, objecten.

Page 65: The Need For Speed

Pre-Fetching Conclusie

• Handig om populaire vervolgpagina's mee te versnellen• FireFox kan gemakkelijk data pre-fetchen• IE9 DNS pre-fetchen

 IE9 +/- 2% (Zal snel groeien, IE6 daalt al snel 20% p/m) FireFox 22%Totaal browsermarkt = 24% met een vorm van pre-fetching.Met JS methode = 99%.

Page 66: The Need For Speed

Conclusie

• Nog maar het topje van de ijsberg besproken• Veel gratis en goeie tools• Direct effect op omzet• Bijna alles kan sneller!• Vragen?