SlideShare a Scribd company logo
1 of 84
Wydajność webowa –
jak to ugryźć?
@konradkokosa
blog.kokosa.net
Spis treści
• Czym jest?
• Czemu jest ważna?
• Jak o nią dbać?
• Jak się uczyć?
Wydajność
Czym jest?
Nie ma jednej Wydajności
Wydajność
Wydajność
User Experience
Wydajność
User Experience
wygląd
łatwość użycia
architektura informacji
Wydajność
User Experience
Wydajność
User Experience
Technikalia
Wydajność
User Experience
PercepcjaTechnikalia
Wydajność
User Experience
PercepcjaTechnikalia
Kod
Wydajność
User Experience
PercepcjaTechnikalia
DesignKod
Wydajność
User Experience
PercepcjaTechnikalia
DesignKod
Page load time
„Time to first Tweet”
„Feel time”
Wydajność
User Experience
PercepcjaTechnikalia
DesignKod
Page load time
„Time to first Tweet”
„Feel time”
Trochę Psychologii
~16 ms
~0.1 s
~1.0 s
~2.0 s
~2.0 s
"Response Time in Man-Computer Conversational
Transactions” Robert B. Miller, 1968
>3.0 s
>10.0 s
~4% osób rzuca telefonem
~4% osób rzuca telefonem
85% oczekuje, że nie będzie
hardware się zmienia, ale ludzki
mózg znacznie wolniej - to są liczby
ważne od wieków
Google RAIL
„user-centric performance model”
<100ms <16ms <100 ms <1000 ms
ale... SEO
ale... SEO
ale... SEO
Wydajność
Czemu jest ważna?
Znaczenie Biznesowe
O-o… wolno działa…
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
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
wizerunek
Healthcare.go
v epic fail
"There's no sugar
coating - the website
has been too slow
(…)” President Barack
Obama
Kalkulator1
Performance is a feature
Performance is NOT a feature
Performance is NOT a feature
Wydajność
Jak o nią dbać?
The Performance Golden Rule
„80-90% of the end-user response time is
is
spent on the frontend. Start there.”
Steve Souders
Waterfall
DEMO
The Performance Golden Rule*
*) bo zoptymalizowano już backend
Jak mierzyć?
window.onLoad
„Zdarzenie load wywoływane jest na końcu procesu
ładowania dokumentu. W momencie wystąpienia
zdarzenia, DOM zawiera już wszystkie obiekty
zawarte w dokumencie oraz zakończone zostało
wczytywanie obrazków oraz ramek.”
developer.mozilla.org
window.onLoad
„Moving beyond window.onload()” Steve Soude
window.onLoad
„Moving beyond window.onload()” Steve Soude
YSlow, PageInsight, Dev Tools
(Chrome, IE, Firefox)
Boomerang.js
Above the fold
WebPageTest.org
StartRender i SpeedIndex
DEMO
heatmap
http://heatmap.webperf.tools/
requestmap
http://requestmap.webperf.tools/
Technikalia
"Premature optimization is the root
root of all evil" Donald Knuth
Rozmiar ma znaczenie
„Your page must fit here”
HttpArchive.org
HttpArchive.org
HttpArchive.org
Obrazki
Co z tymi obrazkami…
•sprite’y
•WebP, JPEX XR, BPG, Flif
•ImageOptim (Mac), smush.it
•LQIP - Low Quality Image
Placeholders
•automatyczny workflow
CDN
HTTP/2
RWD
mobile first
Performance Budget
Performance Budget
devs vs designers != estetyka vs
wydajność
Wydajność
Jak się jej uczyć?
O’Reilly
…i to wszystko
Dziękuję za uwagę!
Pytania?!
@konradkokosa
blog.kokosa.net

More Related Content

Similar to [4developers] - Wydajność webowa - jak to ugryźć? (Konrad Kokosa)

Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Tomasz Dziuda
 
Jak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowegoJak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowego2040.io
 
Koprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeetKoprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeetmagda3695
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...Infoshare
 
Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiWitold Bołt
 
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiInfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiJIT Solutions
 
Certyfikacja a Kariera w IT - Self Case Study
Certyfikacja a Kariera w IT - Self Case StudyCertyfikacja a Kariera w IT - Self Case Study
Certyfikacja a Kariera w IT - Self Case StudyTobias Koprowski
 
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...Filip Dębowski
 
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...Squiz Poland
 
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...Jakub Ochodek
 
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?Datapolis
 
Optymalizacja hostingu
Optymalizacja hostinguOptymalizacja hostingu
Optymalizacja hostinguDivante
 
Usability i UX - podstawy
Usability i UX - podstawyUsability i UX - podstawy
Usability i UX - podstawyrtaraszka
 
1 + 1 > 2. Jak zamieniać rozmowy w biznes.
1 + 1 > 2. Jak zamieniać rozmowy w biznes.1 + 1 > 2. Jak zamieniać rozmowy w biznes.
1 + 1 > 2. Jak zamieniać rozmowy w biznes.Biznes to Rozmowy
 
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierająca
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierającaOprogramowanie. Sprzęt. Komplet.-prezentacja otwierająca
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierającaAlicja Sieminska
 
Certyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyCertyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyTobias Koprowski
 

Similar to [4developers] - Wydajność webowa - jak to ugryźć? (Konrad Kokosa) (20)

Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
 
Jak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowegoJak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowego
 
Koprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeetKoprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeet
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
 
Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacji
 
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiInfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
 
Certyfikacja a Kariera w IT - Self Case Study
Certyfikacja a Kariera w IT - Self Case StudyCertyfikacja a Kariera w IT - Self Case Study
Certyfikacja a Kariera w IT - Self Case Study
 
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
KrakSpot #13 Jaromir Działo - Działaj globalnie, czyli Topicmarks w dolinie k...
 
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...
Za dużo informacji, i co dalej? Funnelback - Michał Rachowski Squiz 12.09.12 ...
 
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...
Jak sobie radzić, gdy praktyka mija się z teorią. Czyli o zamalowywaniu szaro...
 
8 jaromir dzialo
8 jaromir dzialo8 jaromir dzialo
8 jaromir dzialo
 
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
 
Optymalizacja hostingu
Optymalizacja hostinguOptymalizacja hostingu
Optymalizacja hostingu
 
WarszawQA_#9
WarszawQA_#9WarszawQA_#9
WarszawQA_#9
 
Usability i UX - podstawy
Usability i UX - podstawyUsability i UX - podstawy
Usability i UX - podstawy
 
1 + 1 > 2. Jak zamieniać rozmowy w biznes.
1 + 1 > 2. Jak zamieniać rozmowy w biznes.1 + 1 > 2. Jak zamieniać rozmowy w biznes.
1 + 1 > 2. Jak zamieniać rozmowy w biznes.
 
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierająca
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierającaOprogramowanie. Sprzęt. Komplet.-prezentacja otwierająca
Oprogramowanie. Sprzęt. Komplet.-prezentacja otwierająca
 
Zwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_PanelZwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_Panel
 
Certyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyCertyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case Study
 
Azure - Duże zbiory w chmurze
Azure - Duże zbiory w chmurzeAzure - Duże zbiory w chmurze
Azure - Duże zbiory w chmurze
 

[4developers] - Wydajność webowa - jak to ugryźć? (Konrad Kokosa)

Editor's Notes

  1. Wspomnieć o Millennium, o PerfOps i ogarnianiu aplikacji
  2. - Ile developerów webowych? - ile osób ma poczucie, ze w ich firmach dba się o wydajność - a ile osób ma w firmach jakiś proces, choćby najprostszy, dbający o wydajność chcę ewangelizować o wydajności - W banku Millennium od paru lat się tym zajmuje i nazbierało mi się przemyśleń
  3. mobilna, desktop, różne łącza, ekrany
  4. Główny przekaz - Nie jest sctricte technicznym aspektem
  5. Jakob Nielsen – jeden z najbardziej znanych specjalistów w dziedzinie użyteczności Ludzki mózg działa tak samo od wieków – musimy być tego świadomi mówiąc o percepcji
  6. 60 fps
  7. natychmiastowa, tak działa nasza pamięć sensoryczna
  8. jeszcze trzymamy nasze myśli w ryzach
  9. Zaczynają się schody – ludzie zaczynają tracić koncentrację, porzucają stronę
  10. Zaczynają się schody – ludzie zaczynają tracić koncentrację, porzucają stronę
  11. 30% opuści stronę!
  12. myśli nam już pobłądziły i zapewne stronę zamkniemy, tu kończy się czas życia pamięci krótkotrwałej
  13. myśli nam już pobłądziły i zapewne stronę zamkniemy, tu kończy się czas życia pamięci krótkotrwałej
  14. myśli nam już pobłądziły i zapewne stronę zamkniemy, tu kończy się czas życia pamięci krótkotrwałej
  15. myśli nam już pobłądziły i zapewne stronę zamkniemy, tu kończy się czas życia pamięci krótkotrwałej
  16. To jest dla nas dobre bo możemy przekonać naszych szefów, że to strata $$$
  17. czujecie to, prezydent USA tłumaczy się z wolnej strony?! 1 X 2013
  18. XI 2014 - Firma Nabino – p. Agnieszka, studentka
  19. Czy ktoś z Was się z nim nie zgadza?
  20. Możemy mieć taką tendencję jako programiści, że profilujemy backendy
  21. http://www.webpagetest.org/result/160114_9X_183A/1/details/
  22. Efekt ogromnych optymalizacji backendu!
  23. Oki – stajemy przed problemem, musimy jakoś zmierzyć czy nasza strona „wolno/szybko działa”. Kilka wydajność – mierzyć w świadomym kontekście.
  24. Jednak ogrom narzędzi używa właśnie tej metryki 
  25. mPulse - RUM
  26. maile z raportami, widgety na stronach
  27. Oczywiście nie rzucamy się na wszystko, nie usuwamy spacji z CSS jeśli nie widzimy, że to jest realny problem!
  28. Często to nie jest rocket science – rozmiar ma znaczenie
  29. - bandwidth vs latency - taxi vs bus na buspasie on mobile latency by 500ms pozostawia 1-1.5s na resztę - (żart z drukiem 3D)
  30. Obrazki – bardzo ważne
  31. format (przezroczystość) progresive JPEG
  32. JPEG, PNG – strasznie starymi
  33. Więcej niż serwowanie jQuery – oni biorą na siebie ten workflow, header Accept Akamai, CloudFlare
  34. Walczy z latency - Pipelining request, kompresja nagłówków HTTP, server push, priorytetyzacja
  35. Walczy z latency - Pipelining request, kompresja nagłówków HTTP, server push, priorytetyzacja
  36. Oczywiście – PluralSight, blogi, konferencje, itd..
  37. Velocity!
  38. maile z raportami, widgety na stronach