SlideShare une entreprise Scribd logo
1  sur  24
2014 TBC-World 1
Unravelling
Web Performance Internals
2014 TBC-World 2
 Internet is built with
trust in mind
between nodes
 Scalable
Decentralized
Architecture, open to
add remove any
number of nodes
 IP Addresses,
Protocols
SOME BASICS
ON INTERNET!
2014 TBC-World 3
LATENCY: DISTANCE,
ROUTE/TRAFFIC,PACKET LOSS LAST
MILE
2014 TBC-World 4
Web Performance
Matters
Foundation of “User
Experience”
Web performance
is widely
mis-understood!
TIME(SPEED)
IS MONEY!
2014 TBC-World 5
PERCIEVED
EXP.
VS REAL
PERF.
 If measured objectively, both
site would have looked to have
taken same amount of time to
Load.
 But, perceived performance has
a lot to do with when is the
“Document Ready”
 Sometimes, all that requires is
“Perceived Experience” than
real performance numbers!
E.g. Effect on a Button Click
2014 TBC-World 6
2014 TBC-World 7
 Hundreds of files to load in a Web Address
 Sometimes more than a Megabyte to
download
 Developer Errors
 HTTP 1.1 is not that great
 100s of resources, Render blocking scripts,
DNS resolutions, Multiple downloads,
Bandwidth, Latency
 Not clear priority on critical performance
areas
USERS ARE NOT
READY TO WAIT!
2014 TBC-World 8
LET US GO
UNDER THE
HOOD
 Your Computer: Client /
Browser
 Sea of Servers, Cloud
 DNS (Resolving NS, Root
NS, TLD NS,
Authoritative NS)
 IP Address, TCP
Handshake
 Network
 HTTP Request, HTTP
Response
 Binary data, Encode
 HTML (metadata, body)
 SESSION
 CSS,JS,AJAX/XML HTTP
REQUESTS
2014 TBC-World 9
A WEB ADDRESS
 Amazon’s target in major US Cities
• <200 ms to First Byte (TTFB)
• <500 ms to Above the Fold content
• <2000 ms to complete a page load
2014 TBC-World 10
What a Desktop/Mobile
Browser is expected to
do at the Blink of an
EYE!
2014 TBC-World 11
HTTP REQUEST AND RESPONSE
 HTML DOM
 CSS
 Images
 JS 
2014 TBC-World 12
IMPORTANT
TO
IMPROVE
WEB PERF.
Image Source: Radware
Bringing it from 16+ sec to 7-8 sec is the
easier part
•Bringing it under 4 sec is the real
challenge
•Easy to blame Hardware – but that may
not be the issue
Mature Optimization is the key
2014 TBC-World 13
 Round Trip Time,
Response Time
 Throughput
 Latency
 Load Time, time to
First Byte
 Payload
 DNS Lookup times
 End user
Experience on Real
Browsers
 Type of Payload
 Level of Caching
 On Load
Performance
 Web Perf. on Phone,
Web, Tab, Desktop
 GTMetrix.com, Webpagetest.org, Pingdom
 YSlow, Google Page Speed test
 Device Simulators
 Grinder, jMeter, Load Runner: Performance under stress/load
 Google Analytics (For real PROD numbers )
How to Measure and Analyze?
What to Measure?
2014 TBC-World 14
BUT, DO WE
KNOW HOW
TO
INTERPRET
RESULTS?
2014 TBC-World 15
WHAT COULD BE
WRONG?  Test conditions
 # of Resources to
Load and Type of
resources
 Ordering of
Resources
 Trouble maker
resources -HTTP
Statuses
 Too late to paint?
 Lack of Caching?
 Too many connections to
same host?
 Large Time to First Byte?
 Too many plugins?
 Total Payload, Too many
images?
 Pages landing to naked
domain or www?
2014 TBC-World 16
COMPARE
 Payload
 Grade
 #of Requests
 Caching
 Other params
2014 TBC-World 17
REAL
WORLD
PERF.
 Beware of
Averages
 Performance
of all Pages
and not just
Home page or
few pages
 Beware of
route
congestions
on specific
routes on
specific
days/time
2014 TBC-World 18
PERF.
WHEN
STRESSED
 Find the max
throughput
under a
reasonable
Response time
variance
 Repeat Load
Tests with
several perf
tuning steps
including HW
spec changes
2014 TBC-World 19
WPO (WEB PERFORMANCE
OPTIMISATION) FACTORS
 Locations of the Client Browser
 Server Location, CDN Edge locations
 Bandwidth, Type of Connectivity (2G,
3G, 4G, DSL, Fiber, Cable)
 Type of Browser – some browsers are
Smarter
 Client and Server Config, Scale
horizontal, Scale Vertical Cloud, PAAS
or IAAS Cloud
 One size fits all Language frameworks,
CMS Frameworks, e-COM Frameworks,
jQuery Libraries, Boiler plate templates
could impact perf.
 Payload of the page
 ISPs, Traffic en-Route
 # of Trans/Load on the
server
 Web Stack: OS, Web
Server, Relational DB
Servers, Programming
Lang, No SQL Databases
 JSON vs XML
 Async, Lazy Loading
 Responsive vs Device
Type Specific
2014 TBC-World 20
DEEP INTO WPO FACTORS
 Front End Optimization
 Sprites, Compression
 Static/Dynamic Page Caching
 Bundling
 File Minification
 Domain Sharding
 Browser Caching
 Image Optimization,
Progressive jPEG
 Defer JS parsing
 DB Caching and Indexing
 Efficient Code
 SSD Drives, IOPS optimized
Drives
 DDOS counters, Defenders
 HTTP1.1,HTTPS, SPDY,
HTTP2
 All the Fancy Scripts
(Analytics, Effects, Social
share scripts etc..)
 LESSER CNAMEs
 HTTP Failure Statuses
2014 TBC-World 21
 Understand the need – A sub 4 sec load time may not be
what all customers are looking for.
 If sub 4 sec load is required, check if it is required in all
pages – get Clarity
 Get the “Buy-in” for agreed numbers from all
stakeholders
 Do not let the perf measurement and tuning be the
first casuality in the rush to the reduce time to
market(TTM), and while shipping a minimum viable
product (MVP)
ACTION STEPS
2014 TBC-World 22
 Build it Right, Deploy it right:
 Follow best practices. Everyone must be aware: Do share perf tips
learned here with your team!
 Eliminate 404 and un-necessary redirects
 Reduce # of images, Optimize images, Compress, Minimize payload,
bundle
 Cache it right, Use CDN, Avoid too many hosts but not too less too.
 Interpret Page test results correctly and take action
 Write Quality code – High Performance code
 Put Special Focus on Front-End, a typical problem area
 Identify critical screens, too much focus on home page can backfire
ACTION STEPS
2014 TBC-World 23
 Benchmark/Optimize/Automate:
 Conduct User Experience Studies. Conduct Perf. tests
on load and otherwise
 Benchmark/Optimize: Make Page speed test (Use Yslow
or Google speed test) part of regular sprint test. If
possible, automate it right into continuous integration
scripts , where possible.
 Consider Deployment of Dynamic Site Acceleration
Solutions like Akamai/YOTTA when demands are for sub
3 sec page load, across geographies
ACTION STEPS
2014 TBC-World 24
My Coordinates: linkedin.com/in/sreejeshkm
http://www.slideshare.net/sreejeshkm
THANK YOU
Image Sources: Radware, Akamaii,

Contenu connexe

Tendances

AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 

Tendances (17)

Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
 
Designers Guide to Web Performance Yotta 2013
Designers Guide to Web Performance Yotta 2013Designers Guide to Web Performance Yotta 2013
Designers Guide to Web Performance Yotta 2013
 
Delivering Optimal Images for Phones and Tablets on the Modern Web
Delivering Optimal Images for Phones and Tablets on the Modern WebDelivering Optimal Images for Phones and Tablets on the Modern Web
Delivering Optimal Images for Phones and Tablets on the Modern Web
 
Making Facebook Faster
Making Facebook FasterMaking Facebook Faster
Making Facebook Faster
 
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
 
Veda Williams Project Management Secrets A Disciplined Approach To Develo...
Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...Veda Williams   Project Management Secrets   A Disciplined Approach To Develo...
Veda Williams Project Management Secrets A Disciplined Approach To Develo...
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
Velocity NY - How to Measure Revenue in Milliseconds
Velocity NY - How to Measure Revenue in MillisecondsVelocity NY - How to Measure Revenue in Milliseconds
Velocity NY - How to Measure Revenue in Milliseconds
 
Magento performance & optimisation best practices
Magento performance & optimisation best practicesMagento performance & optimisation best practices
Magento performance & optimisation best practices
 
Measuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 TrainingMeasuring performance - Velocity 2016 Training
Measuring performance - Velocity 2016 Training
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
O'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsO'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud Economics
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
 
Fundamentals of TempDB
Fundamentals of TempDBFundamentals of TempDB
Fundamentals of TempDB
 
Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Progressive Web APP ( PWA )
Progressive Web APP ( PWA )
 
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
 

En vedette

120502 Nam Ngum Basin Committee
120502 Nam Ngum Basin Committee120502 Nam Ngum Basin Committee
120502 Nam Ngum Basin Committee
RuurdKuiper
 

En vedette (8)

Rechtsbijstandverzekering Cijfers & Trends
Rechtsbijstandverzekering Cijfers & TrendsRechtsbijstandverzekering Cijfers & Trends
Rechtsbijstandverzekering Cijfers & Trends
 
Geld Review Trends Sparen 2013
Geld Review Trends Sparen 2013Geld Review Trends Sparen 2013
Geld Review Trends Sparen 2013
 
Hypotheekrente historisch laag
Hypotheekrente historisch laagHypotheekrente historisch laag
Hypotheekrente historisch laag
 
Goedkoop geld lenen
Goedkoop geld lenenGoedkoop geld lenen
Goedkoop geld lenen
 
Few Tips for asp.net developers 2014 and beyond
Few Tips for asp.net developers 2014 and beyondFew Tips for asp.net developers 2014 and beyond
Few Tips for asp.net developers 2014 and beyond
 
120502 Nam Ngum Basin Committee
120502 Nam Ngum Basin Committee120502 Nam Ngum Basin Committee
120502 Nam Ngum Basin Committee
 
130329 Irrigation Service Delivery: 'Kesiapan OP' (Readiness for O&M)
130329  Irrigation Service Delivery: 'Kesiapan OP' (Readiness for O&M)130329  Irrigation Service Delivery: 'Kesiapan OP' (Readiness for O&M)
130329 Irrigation Service Delivery: 'Kesiapan OP' (Readiness for O&M)
 
Lecture in Layouting
Lecture in LayoutingLecture in Layouting
Lecture in Layouting
 

Similaire à Web Performance Internals explained for Developers and other stake holders.

Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
varien
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomez
mcsaha
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
Compuware APM
 
Performance soapui siege_last
Performance soapui siege_lastPerformance soapui siege_last
Performance soapui siege_last
cdnaro
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Salesforce Developers
 

Similaire à Web Performance Internals explained for Developers and other stake holders. (20)

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?)
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?) Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
A Modern Approach to Performance Monitoring
A Modern Approach to Performance MonitoringA Modern Approach to Performance Monitoring
A Modern Approach to Performance Monitoring
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
 
Edge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance Monitoring
 
load speed problems of web resources on the client side classification and ...
 load speed problems of web resources on the client side  classification and ... load speed problems of web resources on the client side  classification and ...
load speed problems of web resources on the client side classification and ...
 
Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
 
Optimizing WordPress PHP performance with Tideways
Optimizing WordPress PHP performance with TidewaysOptimizing WordPress PHP performance with Tideways
Optimizing WordPress PHP performance with Tideways
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomez
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
 
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
 
Performance soapui siege_last
Performance soapui siege_lastPerformance soapui siege_last
Performance soapui siege_last
 
Gomez Blazing Fast Cloud Best Practices
Gomez Blazing Fast Cloud Best Practices Gomez Blazing Fast Cloud Best Practices
Gomez Blazing Fast Cloud Best Practices
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Web Performance Internals explained for Developers and other stake holders.

  • 1. 2014 TBC-World 1 Unravelling Web Performance Internals
  • 2. 2014 TBC-World 2  Internet is built with trust in mind between nodes  Scalable Decentralized Architecture, open to add remove any number of nodes  IP Addresses, Protocols SOME BASICS ON INTERNET!
  • 3. 2014 TBC-World 3 LATENCY: DISTANCE, ROUTE/TRAFFIC,PACKET LOSS LAST MILE
  • 4. 2014 TBC-World 4 Web Performance Matters Foundation of “User Experience” Web performance is widely mis-understood! TIME(SPEED) IS MONEY!
  • 5. 2014 TBC-World 5 PERCIEVED EXP. VS REAL PERF.  If measured objectively, both site would have looked to have taken same amount of time to Load.  But, perceived performance has a lot to do with when is the “Document Ready”  Sometimes, all that requires is “Perceived Experience” than real performance numbers! E.g. Effect on a Button Click
  • 7. 2014 TBC-World 7  Hundreds of files to load in a Web Address  Sometimes more than a Megabyte to download  Developer Errors  HTTP 1.1 is not that great  100s of resources, Render blocking scripts, DNS resolutions, Multiple downloads, Bandwidth, Latency  Not clear priority on critical performance areas USERS ARE NOT READY TO WAIT!
  • 8. 2014 TBC-World 8 LET US GO UNDER THE HOOD  Your Computer: Client / Browser  Sea of Servers, Cloud  DNS (Resolving NS, Root NS, TLD NS, Authoritative NS)  IP Address, TCP Handshake  Network  HTTP Request, HTTP Response  Binary data, Encode  HTML (metadata, body)  SESSION  CSS,JS,AJAX/XML HTTP REQUESTS
  • 9. 2014 TBC-World 9 A WEB ADDRESS  Amazon’s target in major US Cities • <200 ms to First Byte (TTFB) • <500 ms to Above the Fold content • <2000 ms to complete a page load
  • 10. 2014 TBC-World 10 What a Desktop/Mobile Browser is expected to do at the Blink of an EYE!
  • 11. 2014 TBC-World 11 HTTP REQUEST AND RESPONSE  HTML DOM  CSS  Images  JS 
  • 12. 2014 TBC-World 12 IMPORTANT TO IMPROVE WEB PERF. Image Source: Radware Bringing it from 16+ sec to 7-8 sec is the easier part •Bringing it under 4 sec is the real challenge •Easy to blame Hardware – but that may not be the issue Mature Optimization is the key
  • 13. 2014 TBC-World 13  Round Trip Time, Response Time  Throughput  Latency  Load Time, time to First Byte  Payload  DNS Lookup times  End user Experience on Real Browsers  Type of Payload  Level of Caching  On Load Performance  Web Perf. on Phone, Web, Tab, Desktop  GTMetrix.com, Webpagetest.org, Pingdom  YSlow, Google Page Speed test  Device Simulators  Grinder, jMeter, Load Runner: Performance under stress/load  Google Analytics (For real PROD numbers ) How to Measure and Analyze? What to Measure?
  • 14. 2014 TBC-World 14 BUT, DO WE KNOW HOW TO INTERPRET RESULTS?
  • 15. 2014 TBC-World 15 WHAT COULD BE WRONG?  Test conditions  # of Resources to Load and Type of resources  Ordering of Resources  Trouble maker resources -HTTP Statuses  Too late to paint?  Lack of Caching?  Too many connections to same host?  Large Time to First Byte?  Too many plugins?  Total Payload, Too many images?  Pages landing to naked domain or www?
  • 16. 2014 TBC-World 16 COMPARE  Payload  Grade  #of Requests  Caching  Other params
  • 17. 2014 TBC-World 17 REAL WORLD PERF.  Beware of Averages  Performance of all Pages and not just Home page or few pages  Beware of route congestions on specific routes on specific days/time
  • 18. 2014 TBC-World 18 PERF. WHEN STRESSED  Find the max throughput under a reasonable Response time variance  Repeat Load Tests with several perf tuning steps including HW spec changes
  • 19. 2014 TBC-World 19 WPO (WEB PERFORMANCE OPTIMISATION) FACTORS  Locations of the Client Browser  Server Location, CDN Edge locations  Bandwidth, Type of Connectivity (2G, 3G, 4G, DSL, Fiber, Cable)  Type of Browser – some browsers are Smarter  Client and Server Config, Scale horizontal, Scale Vertical Cloud, PAAS or IAAS Cloud  One size fits all Language frameworks, CMS Frameworks, e-COM Frameworks, jQuery Libraries, Boiler plate templates could impact perf.  Payload of the page  ISPs, Traffic en-Route  # of Trans/Load on the server  Web Stack: OS, Web Server, Relational DB Servers, Programming Lang, No SQL Databases  JSON vs XML  Async, Lazy Loading  Responsive vs Device Type Specific
  • 20. 2014 TBC-World 20 DEEP INTO WPO FACTORS  Front End Optimization  Sprites, Compression  Static/Dynamic Page Caching  Bundling  File Minification  Domain Sharding  Browser Caching  Image Optimization, Progressive jPEG  Defer JS parsing  DB Caching and Indexing  Efficient Code  SSD Drives, IOPS optimized Drives  DDOS counters, Defenders  HTTP1.1,HTTPS, SPDY, HTTP2  All the Fancy Scripts (Analytics, Effects, Social share scripts etc..)  LESSER CNAMEs  HTTP Failure Statuses
  • 21. 2014 TBC-World 21  Understand the need – A sub 4 sec load time may not be what all customers are looking for.  If sub 4 sec load is required, check if it is required in all pages – get Clarity  Get the “Buy-in” for agreed numbers from all stakeholders  Do not let the perf measurement and tuning be the first casuality in the rush to the reduce time to market(TTM), and while shipping a minimum viable product (MVP) ACTION STEPS
  • 22. 2014 TBC-World 22  Build it Right, Deploy it right:  Follow best practices. Everyone must be aware: Do share perf tips learned here with your team!  Eliminate 404 and un-necessary redirects  Reduce # of images, Optimize images, Compress, Minimize payload, bundle  Cache it right, Use CDN, Avoid too many hosts but not too less too.  Interpret Page test results correctly and take action  Write Quality code – High Performance code  Put Special Focus on Front-End, a typical problem area  Identify critical screens, too much focus on home page can backfire ACTION STEPS
  • 23. 2014 TBC-World 23  Benchmark/Optimize/Automate:  Conduct User Experience Studies. Conduct Perf. tests on load and otherwise  Benchmark/Optimize: Make Page speed test (Use Yslow or Google speed test) part of regular sprint test. If possible, automate it right into continuous integration scripts , where possible.  Consider Deployment of Dynamic Site Acceleration Solutions like Akamai/YOTTA when demands are for sub 3 sec page load, across geographies ACTION STEPS
  • 24. 2014 TBC-World 24 My Coordinates: linkedin.com/in/sreejeshkm http://www.slideshare.net/sreejeshkm THANK YOU Image Sources: Radware, Akamaii,

Notes de l'éditeur

  1. http://www.akamai.com/html/technology/dataviz1.html
  2. http://www.akamai.com/html/technology/dataviz1.html
  3. http://www.akamai.com/html/technology/dataviz1.html
  4. Web Performance Optimization - WPO