BoilingFrogs 2016 - Web performance

85
Wydajność webowa – czemu miałbym się przejmować? @KonradKokosa

Transcript of BoilingFrogs 2016 - Web performance

Page 1: BoilingFrogs 2016 - Web performance

Wydajność webowa – czemu miałbym się przejmować?

@KonradKokosa

Page 2: BoilingFrogs 2016 - Web performance

Spis treści• Czym jest?• Czemu jest ważna?• Jak o nią dbać?• Jak się uczyć?

Page 3: BoilingFrogs 2016 - Web performance

WydajnośćCzym jest?

Page 4: BoilingFrogs 2016 - Web performance

Nie ma jednej Wydajności

Page 5: BoilingFrogs 2016 - Web performance

Wydajność

Page 6: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

Page 7: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

wyglądłatwość użyciaarchitektura informacji

Page 8: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

Page 9: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

Technikalia

Page 10: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

PercepcjaTechnikalia

Page 11: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

PercepcjaTechnikalia

Kod

Page 12: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

PercepcjaTechnikalia

DesignKod

Page 13: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

PercepcjaTechnikalia

DesignKodPage load time „Time to first Tweet”

„Feel time”

Page 14: BoilingFrogs 2016 - Web performance

Wydajność

User Experience

PercepcjaTechnikalia

DesignKod

Page load time „Time to first Tweet”„Feel time”

Page 15: BoilingFrogs 2016 - Web performance

Trochę Psychologii

Page 16: BoilingFrogs 2016 - Web performance

~16 ms

Page 17: BoilingFrogs 2016 - Web performance

~0.1 s

Page 18: BoilingFrogs 2016 - Web performance

~1.0 s

Page 19: BoilingFrogs 2016 - Web performance

~2.0 s

Page 20: BoilingFrogs 2016 - Web performance

~2.0 s

"Response Time in Man-Computer Conversational Transactions” Robert B. Miller,

1968

Page 21: BoilingFrogs 2016 - Web performance

>3.0 s

Page 22: BoilingFrogs 2016 - Web performance

>10.0 s

Page 23: BoilingFrogs 2016 - Web performance
Page 24: BoilingFrogs 2016 - Web performance

4% osób rzuca telefonem

Page 25: BoilingFrogs 2016 - Web performance

4% osób rzuca telefonem85% oczekuje, że nie będzie

wolniej

Page 26: BoilingFrogs 2016 - Web performance

hardware się zmienia, ale ludzki mózg znacznie wolniej - to są

liczby ważne od wieków

Page 27: BoilingFrogs 2016 - Web performance
Page 28: BoilingFrogs 2016 - Web performance

Google RAIL„user-centric performance model”

Page 29: BoilingFrogs 2016 - Web performance
Page 30: BoilingFrogs 2016 - Web performance

<100ms <16ms <100 ms<1000 ms

Page 31: BoilingFrogs 2016 - Web performance

ale... SEO

Page 32: BoilingFrogs 2016 - Web performance

ale... SEO

Page 33: BoilingFrogs 2016 - Web performance

ale... SEO

Page 34: BoilingFrogs 2016 - Web performance

WydajnośćCzemu jest ważna?

Page 35: BoilingFrogs 2016 - Web performance

Znaczenie Biznesowe

Page 36: BoilingFrogs 2016 - Web performance

O-o… wolno działa…

Page 37: BoilingFrogs 2016 - Web performance

Downtime vs Slow-time•1h strat: 21k USD vs 4k USD (TRAC

Research)•porzucenia: 9% vs 28% (Akamai)• “SLOWNESS MAKES YOU HATE USING THE SERVICE. DOWNTIME YOU JUST TRY AGAIN LATER.” Lenny Rachitsky, Product Manager, Airbnb

Page 38: BoilingFrogs 2016 - Web performance

spadek odwiedzin/satysfakcji/konwersji•z 10 do 30 wyników, czas 400 do 900 ms, 25% spadek (Google)•1 sekunda wolniej – 16% satysfakcji, 7% konwersji (ankieta 116 firm)•20% porzuca koszyk z powodu spowolnień•„42% of men and 35% of women have decided not to use a company again as a result of experiencing a slow website” (ankieta 1500 internautów w UK)

Page 39: BoilingFrogs 2016 - Web performance

wizerunek

Page 40: BoilingFrogs 2016 - Web performance

Healthcare.gov epic fail

"There's no sugar coating - the

website has been too slow (…)”

President Barack Obama

Page 41: BoilingFrogs 2016 - Web performance

Kalkulator1

Page 42: BoilingFrogs 2016 - Web performance

Performance is a feature

Page 43: BoilingFrogs 2016 - Web performance

Performance is NOT a feature

Page 44: BoilingFrogs 2016 - Web performance

Performance is NOT a feature

Page 45: BoilingFrogs 2016 - Web performance

WydajnośćJak o nią dbać?

Page 46: BoilingFrogs 2016 - Web performance

Waterfall

Page 47: BoilingFrogs 2016 - Web performance
Page 48: BoilingFrogs 2016 - Web performance

DEMO

Page 49: BoilingFrogs 2016 - Web performance

The Performance Golden Rule„80-90% of the end-user response

time is spent on the frontend. Start there.”

Steve Souders

Page 50: BoilingFrogs 2016 - Web performance
Page 51: BoilingFrogs 2016 - Web performance
Page 52: BoilingFrogs 2016 - Web performance
Page 53: BoilingFrogs 2016 - Web performance

The Performance Golden Rule*

*) bo zoptymalizowano już backend

Page 54: BoilingFrogs 2016 - Web performance

Jak mierzyć?

Page 55: BoilingFrogs 2016 - Web performance

window.onLoad

„Moving beyond window.onload()” Steve Souders

Page 56: BoilingFrogs 2016 - Web performance

window.onLoad

„Moving beyond window.onload()” Steve Souders

Page 57: BoilingFrogs 2016 - Web performance

YSlow, PageInsight, Dev Tools (Chrome, IE, Firefox)

Page 58: BoilingFrogs 2016 - Web performance

Boomerang.js

Page 59: BoilingFrogs 2016 - Web performance

Above the fold

Page 60: BoilingFrogs 2016 - Web performance

WebPageTest.orgStartRender i SpeedIndex

Page 61: BoilingFrogs 2016 - Web performance
Page 62: BoilingFrogs 2016 - Web performance

DEMO

Page 63: BoilingFrogs 2016 - Web performance

Dynatrace AJAX Edition

Page 64: BoilingFrogs 2016 - Web performance

DEMO

Page 66: BoilingFrogs 2016 - Web performance

Technikalia

Page 67: BoilingFrogs 2016 - Web performance

"Premature optimization is the root of all evil" Donald Knuth

Page 68: BoilingFrogs 2016 - Web performance

Rozmiar ma znaczenie

Page 69: BoilingFrogs 2016 - Web performance

„Your page must fit here”

Page 70: BoilingFrogs 2016 - Web performance

HttpArchive.org

Page 71: BoilingFrogs 2016 - Web performance

HttpArchive.org

Page 72: BoilingFrogs 2016 - Web performance

HttpArchive.org

Page 73: BoilingFrogs 2016 - Web performance

Obrazki

Page 74: BoilingFrogs 2016 - Web performance
Page 75: BoilingFrogs 2016 - Web performance

Co z tymi obrazkami…•sprite’y•WebP, JPEX XR, BPG, Flif• ImageOptim (Mac), smush.it•LQIP - Low Quality Image Placeholders•automatyczny workflow

Page 76: BoilingFrogs 2016 - Web performance

CDN

Page 77: BoilingFrogs 2016 - Web performance

RWDmobile first

Page 78: BoilingFrogs 2016 - Web performance

Performance Budget

Page 79: BoilingFrogs 2016 - Web performance

Performance Budgetdevs vs designers != estetyka vs

wydajność

Page 80: BoilingFrogs 2016 - Web performance

WydajnośćJak się jej uczyć?

Page 81: BoilingFrogs 2016 - Web performance

O’Reilly

Page 82: BoilingFrogs 2016 - Web performance
Page 83: BoilingFrogs 2016 - Web performance
Page 84: BoilingFrogs 2016 - Web performance

…i to wszystko

Page 85: BoilingFrogs 2016 - Web performance

Dziękuję!