wydajność aplikacji web z perspektywy użytkownika

12
Wydajność aplikacji Web z perspektywy użytkownika

Upload: jacek-okrojek

Post on 16-Apr-2017

1.648 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Wydajność aplikacji Web z perspektywy użytkownika

Wydajność aplikacji Web z perspektywy użytkownika

Page 2: Wydajność aplikacji Web z perspektywy użytkownika

Agenda

Testy z wykorzystaniem narzędzi takich jak Jmeter, SoapUI, Grinder, Gatling itp. Testy syntetyczne z wykorzystaniem przeglądarki Real User Measurements

Page 3: Wydajność aplikacji Web z perspektywy użytkownika

Pomiary z wykorzystaniem aplikacji Jmeter, Gatling itp

Pozwalają mierzyć czasy odpowiedzi elementów serwisu www Pobranie dokumentu HTML Wywołanie zapytania do API

Niezastąpione przy generowaniu obciążenia Pozwalają ocenić zmiany czasów w odpowiedzi na zwiększoną liczbę równoległych

użytkowników Nie dają informacji o wydajności strony widzianej z perspektywy użytkowników

Page 4: Wydajność aplikacji Web z perspektywy użytkownika

Środowisko

Czas pobieranie obrazka (6kB) korzystając z narzędzia curl (1 wątek)

0 200 400 600 800 1000 12000

1

2

3

4

5

6

7

8

9

10

0 1000 2000 3000 4000 5000 6000 7000 8000 90000

0.5

1

1.5

2

2.5

3

3.5

W czasie dnia (15:30 – 17:00) W nocy (18:00-6:00)

Page 5: Wydajność aplikacji Web z perspektywy użytkownika

Konsekwencje niestabilnego środowiska

Czas pobierania krytycznego zasobu może być wydłużony poprzez problemy sieciowe

Page 6: Wydajność aplikacji Web z perspektywy użytkownika

Pomiary syntetyczne z wykorzystaniem przeglądarki

Pomiary z wykorzystaniem przeglądarki w znanym (referencyjnym) środowisku Określone warunki

Jakie łącze Jaki dostawca usługi Jaką przeglądarką

Jaka wiele metryk Czas pobieranie dokumentu HTML Zdarzenia Java Script PageIndex, SpeedIndex Własna metryka, zobacz https://www.youtube.com/watch?v=f5_iAzS3WMQ

Page 7: Wydajność aplikacji Web z perspektywy użytkownika

High Performance Web Sites Rules

Minimize HTTP Requests Use a Content Delivery Network Avoid empty src or href Add an Expires or a Cache-Control

Header Gzip Components Put StyleSheets at the Top Put Scripts at the Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid Redirects

Remove Duplicate Scripts Configure ETags Make AJAX Cacheable Use GET for AJAX Requests Reduce the Number of DOM Elements No 404s Reduce Cookie Size Use Cookie-Free Domains for

Components Avoid Filters Do Not Scale Images in HTML Make favicon.ico Small and

Cacheable

Page 8: Wydajność aplikacji Web z perspektywy użytkownika

Narzędzia

YSlow (darmowe) PageSpeed (darmowe) WebPageTest (darmowe)

Page 9: Wydajność aplikacji Web z perspektywy użytkownika

Pomiary syntetyczne z wykorzystaniem przeglądarki

Narzędzia Selenium + mobProxy/net export (darmowe) WebPageTest (darmowe) SideSpeed.io (darmowe) NewRelic Catchpoint DynaTrace

Narzędzia dodatkowe ShowSlow (darmowe)

Page 10: Wydajność aplikacji Web z perspektywy użytkownika

Real User Measurements

Pomiary czasów odpowiedzi strony przez prawdziwych użytkowników, czyli na urządzeniach użytkowników ich konfiguracji sieci

Narzędzia: Google Analytics NewRelic mPulse Catchpoint

Page 11: Wydajność aplikacji Web z perspektywy użytkownika

Jakie wymagania

From the The Art of Application Performance Testing (after Martin 1988) Greater than 15 seconds Greater than 4 seconds 2 to 4 seconds Less than 2 seconds

Jupiter Research, Retail Web Site Performance: Consumer Reaction to a Poor Online Shopping Experience, June 2006 and PhoCusWright, Consumer Response to Travel Site Performance, June 2010 3 seconds lead to significant decrease in user satisfaction

Page 12: Wydajność aplikacji Web z perspektywy użytkownika

Dodatkowe informacje

Heristic Test Strategy Model - www.satisfice.com/tools/htsm.pdf Radware Research - http://www.radware.com/Documents/?type=Research Steve Souders @Souders Ilya Grigorik @igrigorik Tammy Everts @tameverts