frontend performance metrics

46
Javascript performance metrics * Measure first. Measure often. @blackrabbit99

Upload: -

Post on 17-Jan-2017

253 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Frontend performance metrics

Javascript performance metrics

* Measure first. Measure often.

@blackrabbit99

Page 2: Frontend performance metrics

Who am I ?

● Gameloft● WebSpellChecker● DevPro● Pics.io● Epam

● KharkivJS organizer● Community member

@blackrabbit99

Page 3: Frontend performance metrics

Where are we now?1) Desktop pattern

2) Incredibly fast development of technology

3) Frontend adopt backend responsibility

4) Enormous market that need it

Page 4: Frontend performance metrics

What do we have?1) More than 1000 frontend frameworks

2) Javascript is the most popular language

3) Frontend developers are over in-demand developers

4) Hipsta but rudimentary infrastructure

Page 6: Frontend performance metrics

Move to performance

Page 7: Frontend performance metrics

Networking

Page 8: Frontend performance metrics

Rendering performance

Page 9: Frontend performance metrics

Rendering performance

Page 10: Frontend performance metrics

Rendering performance

Page 11: Frontend performance metrics

CSS Triggers

Page 12: Frontend performance metrics

Computation

Page 13: Frontend performance metrics

Computation

Page 14: Frontend performance metrics

Computation

Page 15: Frontend performance metrics

Computation

Page 16: Frontend performance metrics

Garbage collection

Page 17: Frontend performance metrics

… and More

CSS

Images

FontsHTML

Page 18: Frontend performance metrics

RAIL?

Page 19: Frontend performance metrics
Page 20: Frontend performance metrics

Goals

Page 21: Frontend performance metrics

Principles

Measure first

Page 22: Frontend performance metrics

Dev Tools Audit

Page 23: Frontend performance metrics

Dev Tools Audit

● Network requests● Browser caching ● Cookies size● Ordering of your styles and scripts ● Unused css

Page 24: Frontend performance metrics

Page Speed Insighthttps://developers.google.com/speed/pagespeed/insights/

Page 25: Frontend performance metrics

Page Speed Insight

● Enable compression

● Minify CSS

● Minify JavaScript

● Prioritize visible content

● Reduce server response time

● Configure the viewport

● Avoid app install interstitials that hide content

● Avoid plugins

● Size content to viewport

Page 26: Frontend performance metrics

WebPage Test

Page 27: Frontend performance metrics

WebPage Test

Page 28: Frontend performance metrics

WebPage Test

Page 29: Frontend performance metrics

Something went wrong

Page 30: Frontend performance metrics

We need automation

Page 31: Frontend performance metrics

PSI

npm install psi

Page 32: Frontend performance metrics

PSI

Page 33: Frontend performance metrics

PSI

● strategy mobile|desktop

● format cli|json|tap

● locale

● threshold

Page 34: Frontend performance metrics

Web Page test

npm install webpagetest

The API key is limited to 200 page loads per day

Page 35: Frontend performance metrics
Page 36: Frontend performance metrics
Page 37: Frontend performance metrics

Localhost?

ngrok http-tunnel

Page 38: Frontend performance metrics

Phantomasphantom or slimmermodular approachpython or nodewait for selectorsrun locallyexport to elastic search

Request monitorAssets timeDom ComplexityWindow performanceErrorConsole alerts

Page 39: Frontend performance metrics

SPA?

Page 40: Frontend performance metrics

Browser Perf

More than 100 metrics

Page 41: Frontend performance metrics

Browser Perf env

● SauceLab● Selenium● BrowserStack

Page 42: Frontend performance metrics

Browser Perf

● Cordova/Phonegap● Hybrid Mobile Application

Page 43: Frontend performance metrics

Browser Perf

● Wait● Scroll

Page 44: Frontend performance metrics

Browser Perf

Custom behavior scripts !!!

Page 45: Frontend performance metrics

https://github.com/blackrabbit99/browser-performance-testing-tools

Page 46: Frontend performance metrics

Thank you for being with me

@blackrabbit99