SlideShare uma empresa Scribd logo
1 de 13
Web Application
Performance From
User Perspective
Jacek Okrojek
29.03.2016
FOUNDATIONS OF SOFTWARE TESTING
GFT Group 30.03.2016 2
Performance testing with load generators
 Overview
 Performed with tools like Jmeter, Gatling, AB, LoadRunner etc.
 Generates concurrent requests based on scripted instruction
 Provides metrics based on response time for request
 Advantages
 Requires relatively small amount of hardware for simulating huge amount of concurrent users
 Loads server resources (CPU, memory) and network
 Easy to run and collect results
 Disadvantages
 Does not work exactly as browsers
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 3
Results collected when testing with load generators
 Give us information about performance as if a page looks like in the example on the left (and
even this is not fully true) however actual page looks like in the example on the right.
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 4
Factors that impact user experience
 Size
 1995 – mean page size 14.1k, average number of objects 2.3
 2010 – mean page size 498k, average number of objects 75
 2012 – mean page size 684k, average number of objects 83
 Complexity
 JavaScript execution
 Content stored on CDNs
 Calls to external APIs
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 5
Tips For High Performance Web Sites
 Gzip Components
 Put StyleSheets at the Top
 Put Scripts at the Bottom
 Minimize HTTP Requests
 Minify JavaScript and CSS
 Make JavaScript and CSS External
 Use a Content Delivery Network
 Avoid empty src or href
 Add an Expires or a Cache-Control
Header
 Avoid CSS Expressions
 Reduce DNS Lookups
 Remove Duplicate Scripts
 Make AJAX Cacheable
 Use GET for AJAX Requests
 Reduce the Number of DOM Elements
 Use Cookie-Free Domains for
Components
 Do Not Scale Images in HTML
 Make favicon.ico Small and Cacheable
 Configure ETags
 Avoid Redirects
 Reduce Cookie Size
 Avoid Filters
 No 404s
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 6
Checking conformance to High Performance Web Sites Rules
 YSlow
 Google PageSpeed
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 7
Synthetic page load measurements
 Synthetic page load measurements are collected with help of real browser
 Used to monitor performance of production and test sites
 Key advantages
 You can run them when you want
 Key disadvantage
 Still you have approximation of performance seen from user perspective
 Key challenges
 What browser should be used
 What hardware should be used
 What connections speed should be used
 What location should be used
 What tools should be used
 What metrics should be collected
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 8
Before we start
 Generating load for capacity tests and as a background for synthetic measurements with browser
 Fast feedback about improvements related to generating main html document
 Checking stability of the environment
 Example: downloading 6kb image every 5 seconds
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
0
1
2
3
4
5
6
7
8
9
10
0 200 400 600 800 1000 1200
0
1
2
3
4
5
6
7
8
9
10
0 2000 4000 6000 8000
During a day (100min from 15:30PM) During night (960min from 6:00PM)
GFT Group 30.03.2016 9
Tools and services for synthetic page load measurements
 Open Source
 Selenium with BrowserMob and Har Storage – tools for building custom tool that performs action and the web site
and collects har files via proxy. Har Storage is a tool for storing har files and present performance trends out of them.
 WebPageTest – collect measurements from various locations, browsers and connection seeds. It captures filmstrips,
allows for scripting, heavy customization and calling via API
 ShowSlow – daily checks for yslow results, integrates and can collects result with WebPageTest, public and private
instances
 SiteSpeed.io – tool that can crawl part or entire web site and collects yslow and performance measurements
 Commercial services
 NewRelic – affordable tool that can be used to synthetic and RUM measurements from various locations (AWS)
 CatchPoint – gives you give insight into application performance from lots of locations around the world
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 10
What to measure
 First View or Repeated View (80/20 rule)
 DOM Content Loaded or Page Loaded*
 Speed Index **
 Custom Event with Navigation, Resources or User Timing APIs***
<link rel="stylesheet" type="text/css" media="all" href="contentSearchUI.css">
…
<img src="hero.jpg" onload="performance.mark('hero1')">
<script>performance.mark('hero2')</script>
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
* http://web.archive.org/web/20150405114023/http://ie.microsoft.com/testdrive/HTML5/DOMContentLoaded/Default.html
** http://www.webpagetest.org/video/compare.php?tests=150912_EG_RPD,150912_96_RK5
*** https://www.youtube.com/watch?v=f5_iAzS3WMQ
GFT Group 30.03.2016 11
Real User Measurements (RUM)
 Collected from real user devices (mobile and desktop)
and helps understands how performance is seen by real
users
 Key advantages
 You know what performance is seen by real users
 Solves most of the challenges of synthetic monitoring
 Key disadvantage
 You can not run it when you want (for example before release)
 Key challenges
 What to measure
W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
GFT Group 30.03.2016 12
References
 https://www.soasta.com/blog/measuring-web-performance-video/
 https://dzone.com/articles/a-brief-history-of-web-performance-roi
 https://developers.google.com/web/fundamentals/performance
 http://yslow.org/
 http://www.softwareishard.com/blog/har-viewer/
 https://www.soasta.com/blog/ebook-usertiming-performance-monitoring/
 https://codeascraft.com/
 https://www.soasta.com/blog/ebook-usertiming-performance-monitoring/
 https://code.facebook.com/posts/991252547593574/the-technology-behind-preview-photos/
 https://blog.twitter.com/2012/improving-performance-on-twittercom
 http://www.stevesouders.com/blog/2015/05/12/hero-image-custom-metrics
Steve Souders
@Souders
Tammy Everts
@tameverts
Ilya Grigorik
@igrigorik
Thank you
GFT
Jacek Okrojek
Email: Jacek.okrojek@gft.com

Mais conteúdo relacionado

Mais procurados

Aspnet Ajax Performance Improvement
Aspnet Ajax Performance ImprovementAspnet Ajax Performance Improvement
Aspnet Ajax Performance Improvement
Lance Zhang
 
Creating REST Webservice With NetBeans
Creating REST Webservice With NetBeansCreating REST Webservice With NetBeans
Creating REST Webservice With NetBeans
Neil Ghosh
 
Presto/Accumulo: Lessons Learned
Presto/Accumulo: Lessons LearnedPresto/Accumulo: Lessons Learned
Presto/Accumulo: Lessons Learned
Accumulo Summit
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
Michael Palotas
 

Mais procurados (12)

Isomorphic web apps with react
Isomorphic web apps with reactIsomorphic web apps with react
Isomorphic web apps with react
 
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays SeattleExpand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays Seattle
 
Aspnet Ajax Performance Improvement
Aspnet Ajax Performance ImprovementAspnet Ajax Performance Improvement
Aspnet Ajax Performance Improvement
 
Overview of AJAX
Overview of AJAXOverview of AJAX
Overview of AJAX
 
Creating REST Webservice With NetBeans
Creating REST Webservice With NetBeansCreating REST Webservice With NetBeans
Creating REST Webservice With NetBeans
 
COB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline supportCOB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline support
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)
 
Presto/Accumulo: Lessons Learned
Presto/Accumulo: Lessons LearnedPresto/Accumulo: Lessons Learned
Presto/Accumulo: Lessons Learned
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Lessons Learned: Optimizing Accumulo as a Backend for User Applications
Lessons Learned: Optimizing Accumulo as a Backend for User ApplicationsLessons Learned: Optimizing Accumulo as a Backend for User Applications
Lessons Learned: Optimizing Accumulo as a Backend for User Applications
 
How to use bi to improve your share point
How to use bi to improve your share pointHow to use bi to improve your share point
How to use bi to improve your share point
 
Web development company
Web development company Web development company
Web development company
 

Semelhante a Web Application Performance from User Perspective

538210-rc220-rum
538210-rc220-rum538210-rc220-rum
538210-rc220-rum
Dan Boutin
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
HarshaVJoshi
 

Semelhante a Web Application Performance from User Perspective (20)

Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
 
Load Speed PSI development of webcore vitals
Load Speed PSI development of webcore vitalsLoad Speed PSI development of webcore vitals
Load Speed PSI development of webcore vitals
 
DZone-RUM
DZone-RUMDZone-RUM
DZone-RUM
 
538210-rc220-rum
538210-rc220-rum538210-rc220-rum
538210-rc220-rum
 
538210 rc220-rum
538210 rc220-rum538210 rc220-rum
538210 rc220-rum
 
Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
 
Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...
 
ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
White paper ready api
White paper  ready apiWhite paper  ready api
White paper ready api
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approach
 
Monitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windowsMonitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windows
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAE
 
Building for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile webBuilding for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile web
 
A novel approach for evaluation of applying ajax in the web site
A novel approach for evaluation of applying ajax in the web siteA novel approach for evaluation of applying ajax in the web site
A novel approach for evaluation of applying ajax in the web site
 
Azure appservice
Azure appserviceAzure appservice
Azure appservice
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 

Último

₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 

Último (20)

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 

Web Application Performance from User Perspective

  • 1. Web Application Performance From User Perspective Jacek Okrojek 29.03.2016 FOUNDATIONS OF SOFTWARE TESTING
  • 2. GFT Group 30.03.2016 2 Performance testing with load generators  Overview  Performed with tools like Jmeter, Gatling, AB, LoadRunner etc.  Generates concurrent requests based on scripted instruction  Provides metrics based on response time for request  Advantages  Requires relatively small amount of hardware for simulating huge amount of concurrent users  Loads server resources (CPU, memory) and network  Easy to run and collect results  Disadvantages  Does not work exactly as browsers W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 3. GFT Group 30.03.2016 3 Results collected when testing with load generators  Give us information about performance as if a page looks like in the example on the left (and even this is not fully true) however actual page looks like in the example on the right. W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 4. GFT Group 30.03.2016 4 Factors that impact user experience  Size  1995 – mean page size 14.1k, average number of objects 2.3  2010 – mean page size 498k, average number of objects 75  2012 – mean page size 684k, average number of objects 83  Complexity  JavaScript execution  Content stored on CDNs  Calls to external APIs W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 5. GFT Group 30.03.2016 5 Tips For High Performance Web Sites  Gzip Components  Put StyleSheets at the Top  Put Scripts at the Bottom  Minimize HTTP Requests  Minify JavaScript and CSS  Make JavaScript and CSS External  Use a Content Delivery Network  Avoid empty src or href  Add an Expires or a Cache-Control Header  Avoid CSS Expressions  Reduce DNS Lookups  Remove Duplicate Scripts  Make AJAX Cacheable  Use GET for AJAX Requests  Reduce the Number of DOM Elements  Use Cookie-Free Domains for Components  Do Not Scale Images in HTML  Make favicon.ico Small and Cacheable  Configure ETags  Avoid Redirects  Reduce Cookie Size  Avoid Filters  No 404s W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 6. GFT Group 30.03.2016 6 Checking conformance to High Performance Web Sites Rules  YSlow  Google PageSpeed W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 7. GFT Group 30.03.2016 7 Synthetic page load measurements  Synthetic page load measurements are collected with help of real browser  Used to monitor performance of production and test sites  Key advantages  You can run them when you want  Key disadvantage  Still you have approximation of performance seen from user perspective  Key challenges  What browser should be used  What hardware should be used  What connections speed should be used  What location should be used  What tools should be used  What metrics should be collected W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 8. GFT Group 30.03.2016 8 Before we start  Generating load for capacity tests and as a background for synthetic measurements with browser  Fast feedback about improvements related to generating main html document  Checking stability of the environment  Example: downloading 6kb image every 5 seconds W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE 0 1 2 3 4 5 6 7 8 9 10 0 200 400 600 800 1000 1200 0 1 2 3 4 5 6 7 8 9 10 0 2000 4000 6000 8000 During a day (100min from 15:30PM) During night (960min from 6:00PM)
  • 9. GFT Group 30.03.2016 9 Tools and services for synthetic page load measurements  Open Source  Selenium with BrowserMob and Har Storage – tools for building custom tool that performs action and the web site and collects har files via proxy. Har Storage is a tool for storing har files and present performance trends out of them.  WebPageTest – collect measurements from various locations, browsers and connection seeds. It captures filmstrips, allows for scripting, heavy customization and calling via API  ShowSlow – daily checks for yslow results, integrates and can collects result with WebPageTest, public and private instances  SiteSpeed.io – tool that can crawl part or entire web site and collects yslow and performance measurements  Commercial services  NewRelic – affordable tool that can be used to synthetic and RUM measurements from various locations (AWS)  CatchPoint – gives you give insight into application performance from lots of locations around the world W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 10. GFT Group 30.03.2016 10 What to measure  First View or Repeated View (80/20 rule)  DOM Content Loaded or Page Loaded*  Speed Index **  Custom Event with Navigation, Resources or User Timing APIs*** <link rel="stylesheet" type="text/css" media="all" href="contentSearchUI.css"> … <img src="hero.jpg" onload="performance.mark('hero1')"> <script>performance.mark('hero2')</script> W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE * http://web.archive.org/web/20150405114023/http://ie.microsoft.com/testdrive/HTML5/DOMContentLoaded/Default.html ** http://www.webpagetest.org/video/compare.php?tests=150912_EG_RPD,150912_96_RK5 *** https://www.youtube.com/watch?v=f5_iAzS3WMQ
  • 11. GFT Group 30.03.2016 11 Real User Measurements (RUM)  Collected from real user devices (mobile and desktop) and helps understands how performance is seen by real users  Key advantages  You know what performance is seen by real users  Solves most of the challenges of synthetic monitoring  Key disadvantage  You can not run it when you want (for example before release)  Key challenges  What to measure W EB APPLICATION PERFORMANCE FROM USER PERSPECTIVE
  • 12. GFT Group 30.03.2016 12 References  https://www.soasta.com/blog/measuring-web-performance-video/  https://dzone.com/articles/a-brief-history-of-web-performance-roi  https://developers.google.com/web/fundamentals/performance  http://yslow.org/  http://www.softwareishard.com/blog/har-viewer/  https://www.soasta.com/blog/ebook-usertiming-performance-monitoring/  https://codeascraft.com/  https://www.soasta.com/blog/ebook-usertiming-performance-monitoring/  https://code.facebook.com/posts/991252547593574/the-technology-behind-preview-photos/  https://blog.twitter.com/2012/improving-performance-on-twittercom  http://www.stevesouders.com/blog/2015/05/12/hero-image-custom-metrics Steve Souders @Souders Tammy Everts @tameverts Ilya Grigorik @igrigorik
  • 13. Thank you GFT Jacek Okrojek Email: Jacek.okrojek@gft.com

Notas do Editor

  1. https://code.google.com/archive/p/harstorage/
  2. http://web.archive.org/web/20150405114023/http://ie.microsoft.com/testdrive/HTML5/DOMContentLoaded/Default.html)
  3. https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index http://www.webpagetest.org/video/compare.php?tests=150912_EG_RPD,150912_96_RK5