SlideShare a Scribd company logo
Dan Shappir, Performance Tech Lead
danshl@wix.com twitter@DanShappir github.com/DanShappir
Testing For Performance
Hi.
I’m Dan
Performance Tech Lead at Wix R&D
Making over 100 Million sites load and execute
faster
dansh@wix.com twitter@DanShappir www.wix.engineering
Wix In Numbers.
130 million users
(+2 million each month)
~1 billion monthly visits
Multiple clouds & data
centers (Amazon, Google)
> 2000 Employees
(~50% R&D)
#5 best software company
to work for worldwide
(according to Glassdoor, 2018)
Wix Engineering
Locations
Ukraine Israel Lithuania
VilniusKiev
Dnipro
Tel-Aviv
Be’er
Sheva
AGENDA
● Why is Performance important & challenging
● What is (Web) Performance
● How to Measure and Test Performance
● Integrating performance into the build and
testing cycle
Why is
Performance
Important and
Challenging
A website’s performance is critical to its
success.
Source: Pingdom,
2018
Bounce Rate (%)
Pageviews (%)
If your site is slow users won’t
wait for it, regardless of how
good it is
When A Website Is Slow To Load.
▪ 11% yell at their phone
▪ 23% swear at their phone
▪ 4% throw their phone !!!
Not All Phones Are Created Equal*
* And don’t forget the different networks
Web Page Download Size.
Source: SpeedCurve, 2018
Web Page Resources Download
Size.
Source: SpeedCurve, 2018
JavaScript Processing Times.
What is (Web)
Performance
What to Measure.
The RAIL model breaks down the user's experience into key actions:
Page Loading Steps.
First Paint
First Contentful
Paint
First Meaningful
Paint
Time To
Interactive
How to Measure
and Test
Performance
“If you can’t measure
it, you can’t improve
it” -- Peter Drucker
When to Measure.
Dev-time
Locally
(your session)
Production
Real User
Measurements
Pre-release
Synthetic
sessions
Measuring Performance.
▪ WebPageTest.org
▪ Google Lighthouse:
○ Built-in in Chrome Dev Tools
○ PageSpeed Insights
○ web.dev
○ WebPageTest.org/lighthouse
▪ Pingdom
DEMO
▪ Lighthouse
▪ WebPageTest
Integrating
performance into
the build and
testing cycle
Performance Budget.
A limit for pages which the team is not allowed to exceed, such as:
▪ Maximum JavaScript bundle sizes
▪ Total media weight
▪ A specific load time (e.g Time-to-Interactive in under 5s on 3G)
▪ Lighthouse scores
Tools For Enforcing Performance Budget.
▪ Use Performance Budget Calculator for estimated budget values
▪ bundlesize for catching JavaScript size regressions in CI
▪ WebPack has built-in support: warn / error on bundle size
▪ WebPageTest.org automation
▪ Use Lighthouse CI to fail build when a score falls under a certain value
▪ SpeedCurve support setting budgets for metrics, sizes and Lighthouse audits
▪ Garie is an Open Source tools which provides dashboards and reporting for
web performance
You gotta...● Understand your requirements
● Set (realistic) performance
budgets
● Test for these budgets
● Fail on performance
regressions
If you don’t test for
performance, it
won’t happen
Thank You
talkol@wix.com twitter@koltal linkedin/talkol github.com/talkol
Q&A
talkol@wix.com twitter@koltal linkedin/talkol github.com/talkol

More Related Content

PDF
Competitive products with AI DevOps
PDF
Building "NoCrash" Web Application using ActOnCloud Autoscaling
PDF
Front end performance on Shopify.com
PPTX
Caching Tips & Tricks
PPTX
Mark Edmondson - Beyond the Clouds
PDF
Hector's slides
PDF
Migrating from angular to react
PPTX
WordPress + react
Competitive products with AI DevOps
Building "NoCrash" Web Application using ActOnCloud Autoscaling
Front end performance on Shopify.com
Caching Tips & Tricks
Mark Edmondson - Beyond the Clouds
Hector's slides
Migrating from angular to react
WordPress + react

What's hot (20)

PPTX
Core web Vitals: Web Performance and Usability
PPTX
Build, Launch, Fail, Learn, Refactor, Repeat
PDF
Monitoring with Stackdriver
PDF
Preparing Applications For Dynamic Scaling
PPTX
Agile Software Development and Continuous Delivery at UPT DEGI | 25th of Sep...
PPTX
Google Core Web Vitals - Webinar
PDF
PuppetConf 2017: Puppet & Google Cloud: From Nothing to Production in 10 minu...
PDF
Which watcher watches CloudWatch
PDF
Anton Shloma. Drupal as an integration platform
PDF
Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)
PDF
Application evolution strategy - Eran Stiller
PDF
rtCamp WordPress Services
PDF
Designing Teams - How Building a Great Workspace is Like Building Great Software
PPTX
Steve Bailey — Core Web Vitals & Roadblocks to Success
PDF
Capturing speed of user experience using user timing api
PPTX
At2010 lean ideas for agile v5 1
PPTX
When to reinvent the wheel / Building a query language in TypeScript
PDF
Firebase remote config tips & tricks
PDF
Core Web Vitals - The Modern Web Experience
PDF
Demystifying Web Vitals
Core web Vitals: Web Performance and Usability
Build, Launch, Fail, Learn, Refactor, Repeat
Monitoring with Stackdriver
Preparing Applications For Dynamic Scaling
Agile Software Development and Continuous Delivery at UPT DEGI | 25th of Sep...
Google Core Web Vitals - Webinar
PuppetConf 2017: Puppet & Google Cloud: From Nothing to Production in 10 minu...
Which watcher watches CloudWatch
Anton Shloma. Drupal as an integration platform
Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)
Application evolution strategy - Eran Stiller
rtCamp WordPress Services
Designing Teams - How Building a Great Workspace is Like Building Great Software
Steve Bailey — Core Web Vitals & Roadblocks to Success
Capturing speed of user experience using user timing api
At2010 lean ideas for agile v5 1
When to reinvent the wheel / Building a query language in TypeScript
Firebase remote config tips & tricks
Core Web Vitals - The Modern Web Experience
Demystifying Web Vitals
Ad

Similar to Testing for performance (20)

PPTX
Measuring web performance with user-centric metrics
PDF
How to test performance and not die trying
PDF
Heuristics of performance testing
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
Metrics, metrics everywhere (but where the heck do you start?)
PPTX
Performance as a feature - Scale conf
KEY
improving the performance of Rails web Applications
PPTX
2021 Chrome Dev Summit: Web Performance 101
PPTX
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
PPTX
Performance Testing from Scratch + JMeter intro
PPTX
Load testing with Visual Studio and Azure - Andrew Siemer
PDF
Implement an Enterprise Performance Test Process
PDF
Ensuring Effective Performance Testing in Web Applications.pdf
PPTX
Why Performance Matters
PDF
Fundamentals Performance Testing
PPTX
Testing Tools Landscape
PPTX
3 Keys to Performance Testing at the Speed of Agile
PDF
Web Performance Analysis - TCF Pro 2009
PPTX
Web Performance Bootcamp 2014
Measuring web performance with user-centric metrics
How to test performance and not die trying
Heuristics of performance testing
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Performance as a feature - Scale conf
improving the performance of Rails web Applications
2021 Chrome Dev Summit: Web Performance 101
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Performance Testing from Scratch + JMeter intro
Load testing with Visual Studio and Azure - Andrew Siemer
Implement an Enterprise Performance Test Process
Ensuring Effective Performance Testing in Web Applications.pdf
Why Performance Matters
Fundamentals Performance Testing
Testing Tools Landscape
3 Keys to Performance Testing at the Speed of Agile
Web Performance Analysis - TCF Pro 2009
Web Performance Bootcamp 2014
Ad

Recently uploaded (20)

PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
OOP with Java - Java Introduction (Basics)
PDF
composite construction of structures.pdf
PPT
Project quality management in manufacturing
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
web development for engineering and engineering
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Welding lecture in detail for understanding
PPTX
Sustainable Sites - Green Building Construction
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Lecture Notes Electrical Wiring System Components
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
R24 SURVEYING LAB MANUAL for civil enggi
OOP with Java - Java Introduction (Basics)
composite construction of structures.pdf
Project quality management in manufacturing
Internet of Things (IOT) - A guide to understanding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Construction Project Organization Group 2.pptx
web development for engineering and engineering
additive manufacturing of ss316l using mig welding
Welding lecture in detail for understanding
Sustainable Sites - Green Building Construction
CYBER-CRIMES AND SECURITY A guide to understanding
Model Code of Practice - Construction Work - 21102022 .pdf
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Lecture Notes Electrical Wiring System Components

Testing for performance