SlideShare a Scribd company logo
CloudOpsGuys Your Software | Our Service TM
1
CloudOpsGuys
Your Software | Our Service TM
WPO – Lessons from the Field
CloudOpsGuys Your Software | Our Service TM
(1) Some quick & dirty ways to do a WPO
PoC using automation
(2) 5 reasons why having your own
WebPageTest instance rocks!
(3) The most common WPO mistakes I see
(time and time again)
(4) Why I love APM tools and you're nuts if
you don't use one!
Agenda
3
CloudOpsGuys Your Software | Our Service TM
PoC - Do a quick example video
• There are two easy ways to get a rough
before/after web optimisation video
• Using WebPageTest Compare
– http://www.webpagetest.org/compare
• Use PageSpeedInsights
– https://developers.google.com/speed/pagespeed/in
sights
– (yes, I know one uses the other!)
CloudOpsGuys Your Software | Our Service TM
Pagespeed Insights
CloudOpsGuys Your Software | Our Service TM
And you can watch a video
https://developers.google.com/speed/pagespeed/insights#url=http_3A_2F_2Fwww.marksandspencer.com_2FFormal
-Shirts-Shirts-Mens_2Fb_2F2559784031_3Fie_3DUTF8_26intid_3Dgnav__men__formal-shirts&mobile=false
CloudOpsGuys Your Software | Our Service TM
WPT Compare
CloudOpsGuys Your Software | Our Service TM
Page Speed Service
CloudOpsGuys Your Software | Our Service TM
Build your own
• I’ve been building my own PoC tool using
Riverbed Stingray Aptimizer and aiCache.com
• Cache static and dynamic optimise resources
• Just use CNAMES and some header re-
writing to glue it together
Browser
aiCache
Dynamic
Stingray
Aptimizer
Origin
Server
CloudOpsGuys Your Software | Our Service TM
Some gotchas…
• Multiple levels of caching
– Browser cache
– aiCache
– Aptimizer cache (optimized static objects)
• Making sure that you send the right headers at each
“hop”
– Right user-agent
– Right hostname
– Right GZIP / Deflate headers…
• FQDN names in source (particularly in top/side nav)
– FFS what’s wrong with a relative /link?
CloudOpsGuys Your Software | Our Service TM
Other lessons
• Load time is useless
• Render start is useless
• Filmstrip, Video or “Visual Progress” is KEY
– More on this later…
CloudOpsGuys Your Software | Our Service TM
Video example
CloudOpsGuys Your Software | Our Service TM
5 reasons why WPT Private
instance rocks!
1. NO QUEUE!
2. Bulk Testing Mode
3. It’s private
4. It’s inside your firewall
5. Easier access to history of testing
6. You will learn more about features!
1. Visual Progress
2. Connection View
3. Scripting etc etc
CloudOpsGuys Your Software | Our Service TM
Bulk Testing!
CloudOpsGuys Your Software | Our Service TM
Give it a list of URL’s
CloudOpsGuys Your Software | Our Service TM
Visual Progress – KEY!
CloudOpsGuys Your Software | Our Service TM
Connection view
Relatively good…
CloudOpsGuys Your Software | Our Service TM
Connection view
Relatively bad… connection resets after 2 requests…
CloudOpsGuys Your Software | Our Service TM
LESSON LEARNT FROM
CONSULTING
What I see day in, day out…
CloudOpsGuys Your Software | Our Service TM
Lessons learnt from consulting…
20/06/2013 19
Generic Description
Reduce Page
Size
Reduce Number of
Requests
Implement
GZIP
Compression
Optimise
Loading of
external files
Defer
JavaScript
loading
Optimise
images
Optimize
HTTP Caching
Domain
Sharding
Cookie-
free
Domains
Back-end
performance
tuning
Remove
Unnecessary
CSS
High Street Retailer Yes Yes No No No No Yes No Yes No Yes
Budget Hotel Chain No Yes No No No Yes Yes Yes Yes Yes No
Professional Body No Yes Yes Yes Yes Yes Yes Yes No Yes No
High Street Retailer No Yes No Yes Yes Yes Yes Yes Yes Yes No
VOD provider No Yes No No Yes Yes Yes Yes Yes Yes Yes
Consumer Electronics Brand Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Fashion Retailer No Yes No No Yes Yes Yes No Yes Yes Yes
Travel Sector No Yes Yes Yes Yes no Yes Yes Yes Yes No
Fashion Retailer Yes Yes Yes Yes Yes No Yes Yes No Yes No
Fashion Retailer Yes Yes No No Yes No Yes Yes Yes Yes No
Home Improvement Retail No Yes No No Yes No Yes Yes Yes Yes Yes
Electrical Retailer Yes Yes no Yes Yes No Yes No Yes Yes No
Electrical Retailer Yes Yes No No Yes Yes Yes Yes No Yes No
Online Gambling Yes Yes Yes Yes No Yes Yes No Yes Yes Yes
Mobile Phone Retailer Yes Yes No Yes Yes Yes Yes Yes Yes No Yes
Insurance Provider No Yes No No Yes No Yes Yes No Yes Yes
Emergency Repair Service No Yes No Yes No Yes Yes Yes No Yes Yes
Mobile Phone Retailer Yes Yes No Yes Yes Yes Yes Yes No Yes Yes
Car Manufacturer No Yes No No No Yes Yes Yes Yes Yes Yes
Financial Services No Yes Yes No Yes No Yes Yes No Yes Yes
Travel Sector Yes Yes No No Yes No Yes Yes No No No
Publisher No Yes Yes No Yes Yes Yes Yes No No Yes
Publisher No Yes No No Yes No Yes Yes Yes No Yes
High Street Retailer Yes Yes No Yes Yes Yes Yes Yes No No Yes
Newspaper Yes Yes No Yes Yes Yes Yes No Yes Yes Yes
48% 100% 28% 48% 80% 60% 100% 80% 60% 76% 64%
CloudOpsGuys Your Software | Our Service TM20/06/2013 20
Performance Rule
Frequency
Recommended
Reduce Number of Requests 100%
Optimize HTTP Caching 100%
Defer JavaScript loading 80%
Domain Sharding 80%
-Back end performance tuning 76%
Remove Unnecessary CSS 64%
Optimise images 60%
-Cookie free Domains 60%
Reduce Page Size 48%
Optimise Loading of external
files
48%
Implement GZIP Compression 28%
CloudOpsGuys Your Software | Our Service TM
What else?
• It takes ages for anything to change
– (hence why I am focussing on automation stuff)
• Video’s are a killer tool
• Analysis of synthetic monitoring can tell you
an lot about back-end performance
• Use analogies (I wrote a whole whitepaper
using shopping at Tesco as an analogy for web
performance…)
CloudOpsGuys Your Software | Our Service TM
WHY I LOVE APM TOOLS…
Deeper insights into back-end performance…
CloudOpsGuys Your Software | Our Service TM
4 quick examples
• Know your dependencies!
– And don’t assume it’s your code that sucks…
• You can focus on application transactions
• How many transactions to load a page?
– And why ORM’s can suck…
• And classic Application metrics
– “The heap is doing WHAT?”
CloudOpsGuys Your Software | Our Service TM
Know your dependencies
CloudOpsGuys Your Software | Our Service TM
Focus on Application Transactions
CloudOpsGuys Your Software | Our Service TM
How many calls?
Query Avg. Time (ms) Count Tot.
Time
(ms)
%
Time
server=83.231.201.82;database=e6-goshcc;uid=e6-
goshcc;pwd=<snip>
0.26 1542 408 1.6
ESModule_EShop_SelectPrice 6.9 1216 8387 32.8
ESModule_EShop_SelectOrderItems 7.43 394 2929 11.5
ESCore_Lookup_Countries_Select 9.4 391 3676 14.4
ESModule_EShop_SelectAddress 10.15 285 2893 11.3
ESCore_Admin_LoadUserDetails 15.62 86 1343 5.3
ESModule_EShop_SelectOrderLineExtendedRecord 15.69 65 1020 4
ESCore_Data_GetNavigation 27.89 9 251 1
ESCore_Data_GetObjectDetails 3.44 9 31 0.1
ESCore_Data_IsObjectChildOfObject 0 8 0 0
CloudOpsGuys Your Software | Our Service TM
I think you have a memory leak
CloudOpsGuys Your Software | Our Service TM
Bonus question! Something unusual?
• GET /HTTP/1.1
• Host: www.cloudopsguys.com
• Connection: keep-alive
• Accept:
text/html,application/xhtml+xml,application/xml;q=0.
9,*/*;q=0.8
• User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/27.0.1453.110 Safari/537.36 PTST/101
• Accept-Encoding: gzip,deflate,sdch
• Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
CloudOpsGuys Your Software | Our Service TM
Bonus question! Something unusual?
• GET /HTTP/1.1
• Host: www.cloudopsguys.com
• Connection: keep-alive
• Accept:
text/html,application/xhtml+xml,application/xml;q=0.
9,*/*;q=0.8
• User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/27.0.1453.110 Safari/537.36 PTST/101
• Accept-Encoding: gzip,deflate,sdch
• Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
CloudOpsGuys Your Software | Our Service TM
Shared Dictionary Compression
over HTTP
CloudOpsGuys Your Software | Our Service TM
THANKYOU
www.cloudopsguys.com
CloudOpsGuys
Your Software | Our Service TM
20
CloudOpsGuys Your Software | Our Service TM
Get in Touch www.CloudOpsGuys.com
0208 798 3079info@cloudopsguys.com
twitter.com/cloudopsguys
facebook.com/cloudopsguysskype: cloudopsguys
plus.google.com/cloudopsguys
Social Media Social Media

More Related Content

Viewers also liked

Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
Stephen Thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
Stephen Thair
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
Stephen Thair
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
Stephen Thair
 
Continuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's TaleContinuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's Tale
Stephen Thair
 
Web Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.ukWeb Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.uk
Stephen Thair
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
Stephen Thair
 

Viewers also liked (7)

Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
 
Continuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's TaleContinuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's Tale
 
Web Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.ukWeb Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.uk
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
 

Similar to London web performance WPO Lessons from the field June 2013

Xeric CloudFR
Xeric CloudFRXeric CloudFR
Xeric CloudFR
Sunny Tan
 
MeasureWorks - The Art of Staying Fast
MeasureWorks - The Art of Staying FastMeasureWorks - The Art of Staying Fast
MeasureWorks - The Art of Staying Fast
MeasureWorks
 
Watching websites
Watching websitesWatching websites
Watching websites
Alistair Croll
 
MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!
MeasureWorks
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
Sagar Desarda
 
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
Istanbul Tech Talks
 
Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1
Yottaa
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
TechWell
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
varien
 
Google Cloud Lightning Talk
Google Cloud Lightning TalkGoogle Cloud Lightning Talk
Google Cloud Lightning Talk
DMI
 
2015 02 24 lmtv baselining
2015 02 24 lmtv baselining2015 02 24 lmtv baselining
2015 02 24 lmtv baselining
Tony Fortunato
 
Web Page Speed - A Most Important Feature
Web Page Speed - A Most Important FeatureWeb Page Speed - A Most Important Feature
Web Page Speed - A Most Important Feature
Scott Germaise
 
Cloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptxCloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptx
terewog808
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
John McCaffrey
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
John McCaffrey
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
Anand Bagmar
 
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks
 
How to Boost Your SEO With Mobile Performance Optimization
How to Boost Your SEO With Mobile Performance OptimizationHow to Boost Your SEO With Mobile Performance Optimization
How to Boost Your SEO With Mobile Performance Optimization
Percussion Software
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Patrick Chanezon
 
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 Delivering Java Applications? Ensure Top Performance Every Time, with Intell... Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
John Williams
 

Similar to London web performance WPO Lessons from the field June 2013 (20)

Xeric CloudFR
Xeric CloudFRXeric CloudFR
Xeric CloudFR
 
MeasureWorks - The Art of Staying Fast
MeasureWorks - The Art of Staying FastMeasureWorks - The Art of Staying Fast
MeasureWorks - The Art of Staying Fast
 
Watching websites
Watching websitesWatching websites
Watching websites
 
MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
 
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
ITT 2015 - Kirk Pepperdine - The (not so) Dark Art of Performance Tuning, fro...
 
Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
Google Cloud Lightning Talk
Google Cloud Lightning TalkGoogle Cloud Lightning Talk
Google Cloud Lightning Talk
 
2015 02 24 lmtv baselining
2015 02 24 lmtv baselining2015 02 24 lmtv baselining
2015 02 24 lmtv baselining
 
Web Page Speed - A Most Important Feature
Web Page Speed - A Most Important FeatureWeb Page Speed - A Most Important Feature
Web Page Speed - A Most Important Feature
 
Cloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptxCloud Services helping in cloud service to be fully knowledgably .pptx
Cloud Services helping in cloud service to be fully knowledgably .pptx
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...
 
How to Boost Your SEO With Mobile Performance Optimization
How to Boost Your SEO With Mobile Performance OptimizationHow to Boost Your SEO With Mobile Performance Optimization
How to Boost Your SEO With Mobile Performance Optimization
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 Delivering Java Applications? Ensure Top Performance Every Time, with Intell... Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 

More from Stephen Thair

7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
Stephen Thair
 
Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2
Stephen Thair
 
Web performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thairWeb performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thair
Stephen Thair
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
Stephen Thair
 
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabnerPerformance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Stephen Thair
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
Stephen Thair
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
Stephen Thair
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
Stephen Thair
 
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Stephen Thair
 

More from Stephen Thair (9)

7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
 
Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2
 
Web performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thairWeb performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thair
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
 
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabnerPerformance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
 
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
 

Recently uploaded

Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 

Recently uploaded (20)

Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 

London web performance WPO Lessons from the field June 2013

  • 1. CloudOpsGuys Your Software | Our Service TM 1 CloudOpsGuys Your Software | Our Service TM WPO – Lessons from the Field
  • 2. CloudOpsGuys Your Software | Our Service TM (1) Some quick & dirty ways to do a WPO PoC using automation (2) 5 reasons why having your own WebPageTest instance rocks! (3) The most common WPO mistakes I see (time and time again) (4) Why I love APM tools and you're nuts if you don't use one! Agenda 3
  • 3. CloudOpsGuys Your Software | Our Service TM PoC - Do a quick example video • There are two easy ways to get a rough before/after web optimisation video • Using WebPageTest Compare – http://www.webpagetest.org/compare • Use PageSpeedInsights – https://developers.google.com/speed/pagespeed/in sights – (yes, I know one uses the other!)
  • 4. CloudOpsGuys Your Software | Our Service TM Pagespeed Insights
  • 5. CloudOpsGuys Your Software | Our Service TM And you can watch a video https://developers.google.com/speed/pagespeed/insights#url=http_3A_2F_2Fwww.marksandspencer.com_2FFormal -Shirts-Shirts-Mens_2Fb_2F2559784031_3Fie_3DUTF8_26intid_3Dgnav__men__formal-shirts&mobile=false
  • 6. CloudOpsGuys Your Software | Our Service TM WPT Compare
  • 7. CloudOpsGuys Your Software | Our Service TM Page Speed Service
  • 8. CloudOpsGuys Your Software | Our Service TM Build your own • I’ve been building my own PoC tool using Riverbed Stingray Aptimizer and aiCache.com • Cache static and dynamic optimise resources • Just use CNAMES and some header re- writing to glue it together Browser aiCache Dynamic Stingray Aptimizer Origin Server
  • 9. CloudOpsGuys Your Software | Our Service TM Some gotchas… • Multiple levels of caching – Browser cache – aiCache – Aptimizer cache (optimized static objects) • Making sure that you send the right headers at each “hop” – Right user-agent – Right hostname – Right GZIP / Deflate headers… • FQDN names in source (particularly in top/side nav) – FFS what’s wrong with a relative /link?
  • 10. CloudOpsGuys Your Software | Our Service TM Other lessons • Load time is useless • Render start is useless • Filmstrip, Video or “Visual Progress” is KEY – More on this later…
  • 11. CloudOpsGuys Your Software | Our Service TM Video example
  • 12. CloudOpsGuys Your Software | Our Service TM 5 reasons why WPT Private instance rocks! 1. NO QUEUE! 2. Bulk Testing Mode 3. It’s private 4. It’s inside your firewall 5. Easier access to history of testing 6. You will learn more about features! 1. Visual Progress 2. Connection View 3. Scripting etc etc
  • 13. CloudOpsGuys Your Software | Our Service TM Bulk Testing!
  • 14. CloudOpsGuys Your Software | Our Service TM Give it a list of URL’s
  • 15. CloudOpsGuys Your Software | Our Service TM Visual Progress – KEY!
  • 16. CloudOpsGuys Your Software | Our Service TM Connection view Relatively good…
  • 17. CloudOpsGuys Your Software | Our Service TM Connection view Relatively bad… connection resets after 2 requests…
  • 18. CloudOpsGuys Your Software | Our Service TM LESSON LEARNT FROM CONSULTING What I see day in, day out…
  • 19. CloudOpsGuys Your Software | Our Service TM Lessons learnt from consulting… 20/06/2013 19 Generic Description Reduce Page Size Reduce Number of Requests Implement GZIP Compression Optimise Loading of external files Defer JavaScript loading Optimise images Optimize HTTP Caching Domain Sharding Cookie- free Domains Back-end performance tuning Remove Unnecessary CSS High Street Retailer Yes Yes No No No No Yes No Yes No Yes Budget Hotel Chain No Yes No No No Yes Yes Yes Yes Yes No Professional Body No Yes Yes Yes Yes Yes Yes Yes No Yes No High Street Retailer No Yes No Yes Yes Yes Yes Yes Yes Yes No VOD provider No Yes No No Yes Yes Yes Yes Yes Yes Yes Consumer Electronics Brand Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Fashion Retailer No Yes No No Yes Yes Yes No Yes Yes Yes Travel Sector No Yes Yes Yes Yes no Yes Yes Yes Yes No Fashion Retailer Yes Yes Yes Yes Yes No Yes Yes No Yes No Fashion Retailer Yes Yes No No Yes No Yes Yes Yes Yes No Home Improvement Retail No Yes No No Yes No Yes Yes Yes Yes Yes Electrical Retailer Yes Yes no Yes Yes No Yes No Yes Yes No Electrical Retailer Yes Yes No No Yes Yes Yes Yes No Yes No Online Gambling Yes Yes Yes Yes No Yes Yes No Yes Yes Yes Mobile Phone Retailer Yes Yes No Yes Yes Yes Yes Yes Yes No Yes Insurance Provider No Yes No No Yes No Yes Yes No Yes Yes Emergency Repair Service No Yes No Yes No Yes Yes Yes No Yes Yes Mobile Phone Retailer Yes Yes No Yes Yes Yes Yes Yes No Yes Yes Car Manufacturer No Yes No No No Yes Yes Yes Yes Yes Yes Financial Services No Yes Yes No Yes No Yes Yes No Yes Yes Travel Sector Yes Yes No No Yes No Yes Yes No No No Publisher No Yes Yes No Yes Yes Yes Yes No No Yes Publisher No Yes No No Yes No Yes Yes Yes No Yes High Street Retailer Yes Yes No Yes Yes Yes Yes Yes No No Yes Newspaper Yes Yes No Yes Yes Yes Yes No Yes Yes Yes 48% 100% 28% 48% 80% 60% 100% 80% 60% 76% 64%
  • 20. CloudOpsGuys Your Software | Our Service TM20/06/2013 20 Performance Rule Frequency Recommended Reduce Number of Requests 100% Optimize HTTP Caching 100% Defer JavaScript loading 80% Domain Sharding 80% -Back end performance tuning 76% Remove Unnecessary CSS 64% Optimise images 60% -Cookie free Domains 60% Reduce Page Size 48% Optimise Loading of external files 48% Implement GZIP Compression 28%
  • 21. CloudOpsGuys Your Software | Our Service TM What else? • It takes ages for anything to change – (hence why I am focussing on automation stuff) • Video’s are a killer tool • Analysis of synthetic monitoring can tell you an lot about back-end performance • Use analogies (I wrote a whole whitepaper using shopping at Tesco as an analogy for web performance…)
  • 22. CloudOpsGuys Your Software | Our Service TM WHY I LOVE APM TOOLS… Deeper insights into back-end performance…
  • 23. CloudOpsGuys Your Software | Our Service TM 4 quick examples • Know your dependencies! – And don’t assume it’s your code that sucks… • You can focus on application transactions • How many transactions to load a page? – And why ORM’s can suck… • And classic Application metrics – “The heap is doing WHAT?”
  • 24. CloudOpsGuys Your Software | Our Service TM Know your dependencies
  • 25. CloudOpsGuys Your Software | Our Service TM Focus on Application Transactions
  • 26. CloudOpsGuys Your Software | Our Service TM How many calls? Query Avg. Time (ms) Count Tot. Time (ms) % Time server=83.231.201.82;database=e6-goshcc;uid=e6- goshcc;pwd=<snip> 0.26 1542 408 1.6 ESModule_EShop_SelectPrice 6.9 1216 8387 32.8 ESModule_EShop_SelectOrderItems 7.43 394 2929 11.5 ESCore_Lookup_Countries_Select 9.4 391 3676 14.4 ESModule_EShop_SelectAddress 10.15 285 2893 11.3 ESCore_Admin_LoadUserDetails 15.62 86 1343 5.3 ESModule_EShop_SelectOrderLineExtendedRecord 15.69 65 1020 4 ESCore_Data_GetNavigation 27.89 9 251 1 ESCore_Data_GetObjectDetails 3.44 9 31 0.1 ESCore_Data_IsObjectChildOfObject 0 8 0 0
  • 27. CloudOpsGuys Your Software | Our Service TM I think you have a memory leak
  • 28. CloudOpsGuys Your Software | Our Service TM Bonus question! Something unusual? • GET /HTTP/1.1 • Host: www.cloudopsguys.com • Connection: keep-alive • Accept: text/html,application/xhtml+xml,application/xml;q=0. 9,*/*;q=0.8 • User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 PTST/101 • Accept-Encoding: gzip,deflate,sdch • Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
  • 29. CloudOpsGuys Your Software | Our Service TM Bonus question! Something unusual? • GET /HTTP/1.1 • Host: www.cloudopsguys.com • Connection: keep-alive • Accept: text/html,application/xhtml+xml,application/xml;q=0. 9,*/*;q=0.8 • User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 PTST/101 • Accept-Encoding: gzip,deflate,sdch • Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
  • 30. CloudOpsGuys Your Software | Our Service TM Shared Dictionary Compression over HTTP
  • 31. CloudOpsGuys Your Software | Our Service TM THANKYOU www.cloudopsguys.com CloudOpsGuys Your Software | Our Service TM 20
  • 32. CloudOpsGuys Your Software | Our Service TM Get in Touch www.CloudOpsGuys.com 0208 798 3079info@cloudopsguys.com twitter.com/cloudopsguys facebook.com/cloudopsguysskype: cloudopsguys plus.google.com/cloudopsguys Social Media Social Media

Editor's Notes

  1. Based on 25 consulting reports across a wide range of e-commerce and publishing sites
  2. 100% of the time there were too many requests100% of the time they weren’t using caching to its full advantage, and hence repeat visits were slower than they needed to be…76% of the sites exhibited noticable slowing down during peak time of day/week~50% of the time the pages were bloated (often due to images that on average can be optimised ~15%) Frighteningly ¼ of the sites analysed either didn’t have Gzip compression enabled or it had problems e.g. failing under load!