SlideShare ist ein Scribd-Unternehmen logo
1 von 55
1
BEST PRACTICES ON
PERFORMANCE-
FOCUSED DEVOPS
Andreas Grabner, Technology Strategist @ Compuware/dynaTrace
Popularity of Topics on Google
Who is doing it? How many successful
deployments can they do?
300 Deployments / Year
50-60 Deployments / Day
10+ Deployments / Day
Every 11.6 seconds
More on Amazons Story
75% fewer outages since 2006
90% fewer outage minutes
~0.001% of deployments cause a problem
Instantaneous automatic rollback
Deploying every 11.6s
Testing is Important – and gives Confidence
But are we ready for “The Real” world?
Measure Performance during the game
Ball Possession: 40 : 60
Fouls: 0 : 0
Score: 0 : 0
Minute 1 - 5
Measure Performance during the game
Minute 6 - 35
Ball Possession: 80 : 20
Fouls: 2 : 12
Score: 0 : 0
Deep Dive Analysis
Options “To Fix” the situation
Not always a happy ending 
Minute 90
Ball Possession: 80 : 20
Fouls: 4 : 25
Score: 3 : 0
FRUSTRATED FANS!!
17
How does that
relate to
Software?
From Deploy to …
Deploy Promotion/Event Problems Ops Playbook War Room
Timeline
The “War Room” – back then
'Houston, we have a problem‘
NASA Mission Control Center, Apollo 13, 1970
The “War Room” – NOW
Facebook – December 2012
Problem: Attitudes like this don’t help either
Image taken from https://www.scriptrock.com/blog/devops-whats-hype-about/
Shopzilla CIO (in 2010): “… when they get in the war room - the developers and ops teams
describe the problem as the enemy, not each other”
Problem: Very “expensive” to work on these issues
~80% of problems
caused by ~20% patterns
YES we know this
80%Dev Time in Bug Fixing
$60BDefect Costs
BUT
Lets start on the frontend - 80/20 rule from Steve
The impact of Architectural Decisions
Metrics: # Visitors, # Requests / User
Bloated Mobile Web Sites (Shopping Sites Dec
2013)
Huge Java Script, HTML and
CSS Files
Large Resources take longer
to load – especially on slow
connections
Total Size: 2.5MB
Metric: Total Page Size
Bloated Mobile Web Sites Super Bowl Ad
Landing Page
434 Resources in total on that page:
230 JPEGs, 75 PNGs, 50 GIFs, …
Total size of ~ 20MB
Good First Impression and OnLoad Time –
but very long Total Load Time
Metrics: Load Time, # Resources, …
Mobile Web Site: JUST Redirects to regular page
Most CSS and JS files are redirected
to the www domain
This is a lot of time “wasted” especially on
high latency mobile connections
Metric: # HTTP 3xx, 4xx, 5xx
Individual images are very small
But downloading so many resoures in
parallel takes its time due to browser
connection limits
52 individual country flags!
Metric: # Images
Misconfigured CDN!
46! HTTP 403 Requests for images on the
landing page
Probably a configuration problem with
their Amazon AWS CDN
Lots of time “wasted” due to
roundtrips that just result in a 403
Metric: # HTTP 4xx
Slow JavaScript
1.1s on my IE 10 to
execute magicSpanLinks()
The each loop calls this block of
JavaScript for every span node
759 span nodes are processed
by the anonymous function
It adds the dynamically
generated link and removes the
old span
We can see all the DOM
Modifications and how this
sums up in execution time
Metric: Time Spent in JS Execution
Browser-specific Problems
• “I would love to spend money with you – but I cant get
through the checkout process”
• Looked at the data from this user to identify the error
HTTP 404 at OrderItemAdd
Metric: HTTP xxx per Browser
Root Cause: A cookie bug in Safari
Invalid Cookie Exception
Impacts ALL Safari Users
• ALL Safari users were impacted that bought a product with
special characters in the name
Metric: # Exceptions per User,
# Exceptions per Browser
But - then we have to focus on the backend
Deployment Mistakes lead to internal Exceptions
Metric: # of Exception Objects Created
Deployment Mistakes lead to high logging
overhead
Metric: Time Spent in critical Methods
Production Deployment leads to Log SYNC Issues
Metric: Time Spent in Sync & Logging
# of Log Messages
Top Problem Patterns: Resource Pools
Metric: Connection Pool Usage, Acquisition Time
Long running SQL with Production Data
Metric: Time Spent in SQL Execution
N+1 Query Problem
Metric: # SQL Executions / Request
# of “same” SQL Executions
Memory Leaks under Production Load
Still crashes
Problem fixed!Fixed Version Deployed
Metric: Heap Size, Object Churn Rate
List of Metrics we just saw
• Architectural Metrics
– Active Worker Threads
– Time Spent in Tier/Class
– # of Exception Objects Created
– Time Spent in critical Methods
– Time Spent in Sync & Logging
– # of Log Messages
• Database Metrics
– Connection Pool Usage, Acquisition
Time
– Time Spent in SQL Execution
– # SQL Executions / Request
– # of “same” SQL Executions
• Memory Metrics
– Heap Size, Object Churn Rate
– # Important Objects on Heap
• Web & Mobile Metrics
– Size and # of Resources
– # of JS Files
– Total Page Size
– # HTTP 3xx, 4xx, 5xx
– Time Spent in JS Execution
– # Crashes
– # Errors
Want MORE of these and more details?
http://apmblog.compuware.com
How about this idea?
12 0 120ms
3 1 68ms
Build 20 testPurchase OK
testSearch OK
Build 17 testPurchase OK
testSearch OK
Build 18 testPurchase FAILED
testSearch OK
Build 19 testPurchase OK
testSearch OK
Build # Test Case Status # SQL # Excep CPU
12 0 120ms
3 1 68ms
12 5 60ms
3 1 68ms
75 0 230ms
3 1 68ms
Test Framework Results Architectural Data
We identified a regresesion
Problem solved
Lets look behind the
scenes
Exceptions probably reason
for failed tests
Problem fixed but now we have an
architectural regression
Problem fixed but now we have an
architectural regression
Now we have the functional and
architectural confidence
How? Performance Focus in Test Automation
Cross Impact of KPIs
Analyzing All Unit /
Performance Tests
Analyze Perf
Metrics
Identify
Regressions
How? Performance Focus in Test Automation
Embed your Architectural
Results in Jenkins
59
Getting control over your weekend again …
Enjoy a beer with friends?
Instead of pizza and soda
with your colleagues?
IF WE DO ALL THAT
80% Dev Time for Bug Fixing
$60B Costs by Defects
Recommended Book
https://itrevolution.wufoo.com/forms/phoenix-project-ebook-offer/
FREE Products & More Info
• dynaTrace Enterprise
– Full End-to-End Visibility in your Java, .NET, PHP Apps
– Sign up for a 15 Days Free Trial on http://compuwareapm.com
• dynaTrace AJAX Edition
– Browser Diagnostics for IE + FF
– Download @ http://ajax.dynatrace.com
• Our Blog: http://apmblog.compuware.com
Want MORE of these and more details?
http://apmblog.compuware.com
© 2011 Compuware Corporation — All Rights Reserved
Simply Smarter

Weitere ähnliche Inhalte

Was ist angesagt?

Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)Yelp Engineering
 
Continuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixContinuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixAtlassian
 
Software Engineering for the Web: The state of practice. ICSE 2014
Software Engineering for the Web: The state of practice. ICSE 2014Software Engineering for the Web: The state of practice. ICSE 2014
Software Engineering for the Web: The state of practice. ICSE 2014Alex Nederlof
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...Catalyst
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Thomas Audunhus
 
How to measure the business impact of web performance
How to measure the business impact of web performanceHow to measure the business impact of web performance
How to measure the business impact of web performanceSOASTA
 
Scaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondScaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondAtlassian
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileKenAtIndeed
 
The Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance TuningThe Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance TuningAtlassian
 
Performance Testing for Mobile Apps & Sites using Apache JMeter
Performance Testing for Mobile Apps & Sites using Apache JMeterPerformance Testing for Mobile Apps & Sites using Apache JMeter
Performance Testing for Mobile Apps & Sites using Apache JMeterAlon Girmonsky
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous deliveryAviran Mordo
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessSOASTA
 
Distributed Release Management
Distributed Release ManagementDistributed Release Management
Distributed Release ManagementMike Brittain
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the cityIke Ellis
 
Continuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksContinuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksa32an
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksThoughtworks
 

Was ist angesagt? (19)

Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)
 
Continuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixContinuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at Netflix
 
Software Engineering for the Web: The state of practice. ICSE 2014
Software Engineering for the Web: The state of practice. ICSE 2014Software Engineering for the Web: The state of practice. ICSE 2014
Software Engineering for the Web: The state of practice. ICSE 2014
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
How to measure the business impact of web performance
How to measure the business impact of web performanceHow to measure the business impact of web performance
How to measure the business impact of web performance
 
Dyna trace
Dyna traceDyna trace
Dyna trace
 
Scaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondScaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and Beyond
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
 
The Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance TuningThe Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance Tuning
 
Performance Testing for Mobile Apps & Sites using Apache JMeter
Performance Testing for Mobile Apps & Sites using Apache JMeterPerformance Testing for Mobile Apps & Sites using Apache JMeter
Performance Testing for Mobile Apps & Sites using Apache JMeter
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
 
Distributed Release Management
Distributed Release ManagementDistributed Release Management
Distributed Release Management
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the city
 
Continuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksContinuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risks
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
 

Andere mochten auch

Hum2220 fa2016 syllabus
Hum2220 fa2016 syllabusHum2220 fa2016 syllabus
Hum2220 fa2016 syllabusProfWillAdams
 
상상지니릴레이 Wmc
상상지니릴레이 Wmc상상지니릴레이 Wmc
상상지니릴레이 WmcHaNee Seo
 
2009 Summer Newsletter
2009 Summer Newsletter2009 Summer Newsletter
2009 Summer NewsletterDirect Relief
 
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...ProfWillAdams
 
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorieIl modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorieCreAgri Europe
 
เรื่อง ภูกระดึง
เรื่อง ภูกระดึงเรื่อง ภูกระดึง
เรื่อง ภูกระดึงPharm Prince
 
2009 Spring Newsletter
2009 Spring Newsletter2009 Spring Newsletter
2009 Spring NewsletterDirect Relief
 
2007 Spring Newsletter
2007 Spring Newsletter2007 Spring Newsletter
2007 Spring NewsletterDirect Relief
 
Hum2220 1330 egyptian mummification
Hum2220 1330 egyptian mummificationHum2220 1330 egyptian mummification
Hum2220 1330 egyptian mummificationProfWillAdams
 
상상지니릴레이
상상지니릴레이상상지니릴레이
상상지니릴레이HaNee Seo
 

Andere mochten auch (20)

Hum2220 fa2016 syllabus
Hum2220 fa2016 syllabusHum2220 fa2016 syllabus
Hum2220 fa2016 syllabus
 
Power point harp seal
Power point harp sealPower point harp seal
Power point harp seal
 
Get it presentation
Get it presentationGet it presentation
Get it presentation
 
상상지니릴레이 Wmc
상상지니릴레이 Wmc상상지니릴레이 Wmc
상상지니릴레이 Wmc
 
2009 Summer Newsletter
2009 Summer Newsletter2009 Summer Newsletter
2009 Summer Newsletter
 
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...
Arh2050mycenaeanarchaicgreekart mainlandgreecesfirstflowering-120605112641-ph...
 
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorieIl modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
 
เรื่อง ภูกระดึง
เรื่อง ภูกระดึงเรื่อง ภูกระดึง
เรื่อง ภูกระดึง
 
Stenden master l&i 8 maart 2013
Stenden master l&i 8 maart 2013Stenden master l&i 8 maart 2013
Stenden master l&i 8 maart 2013
 
2010 annual report
2010 annual report2010 annual report
2010 annual report
 
Tar syndrome group 6
Tar syndrome group 6Tar syndrome group 6
Tar syndrome group 6
 
19th Annual UB Graduate School of Education Graduate Student Research Symposium
19th Annual UB Graduate School of Education Graduate Student Research Symposium19th Annual UB Graduate School of Education Graduate Student Research Symposium
19th Annual UB Graduate School of Education Graduate Student Research Symposium
 
2009 annual report
2009  annual report2009  annual report
2009 annual report
 
2009 Spring Newsletter
2009 Spring Newsletter2009 Spring Newsletter
2009 Spring Newsletter
 
Vinci Services Products
Vinci Services ProductsVinci Services Products
Vinci Services Products
 
DIY to CMS
DIY to CMSDIY to CMS
DIY to CMS
 
2007 Spring Newsletter
2007 Spring Newsletter2007 Spring Newsletter
2007 Spring Newsletter
 
Hum2220 1330 egyptian mummification
Hum2220 1330 egyptian mummificationHum2220 1330 egyptian mummification
Hum2220 1330 egyptian mummification
 
상상지니릴레이
상상지니릴레이상상지니릴레이
상상지니릴레이
 
Fall newsletter-2003
Fall newsletter-2003Fall newsletter-2003
Fall newsletter-2003
 

Ähnlich wie London web perfug_performancefocused_devops_feb2014

BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!Andreas Grabner
 
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013Andreas Grabner
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Andreas Grabner
 
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyDocker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyAndreas Grabner
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance MetricsAndreas Grabner
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 Omnilogy
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveAndreas Grabner
 
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_tuningJohn McCaffrey
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Andreas Grabner
 
Accelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual DataAccelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual DataKyle Hailey
 
SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017Speedment, Inc.
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday SeasonG3 Communications
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics HeroTechWell
 
PHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM iPHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM iSam Hennessy
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
 
Virtual Data : Eliminating the data constraint in Application Development
Virtual Data :  Eliminating the data constraint in Application DevelopmentVirtual Data :  Eliminating the data constraint in Application Development
Virtual Data : Eliminating the data constraint in Application DevelopmentKyle Hailey
 

Ähnlich wie London web perfug_performancefocused_devops_feb2014 (20)

BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
 
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyDocker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep Dive
 
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
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
 
Accelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual DataAccelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual Data
 
SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
PHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM iPHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM i
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
Virtual Data : Eliminating the data constraint in Application Development
Virtual Data :  Eliminating the data constraint in Application DevelopmentVirtual Data :  Eliminating the data constraint in Application Development
Virtual Data : Eliminating the data constraint in Application Development
 

Mehr von Andreas Grabner

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionAndreas Grabner
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareAndreas Grabner
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAndreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnAndreas Grabner
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sAndreas Grabner
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sAndreas Grabner
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesAndreas Grabner
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingAndreas Grabner
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAndreas Grabner
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceAndreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowAndreas Grabner
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
 

Mehr von Andreas Grabner (20)

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with Keptn
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking Software
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8s
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps Toolchain
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environments
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with Dynatrace
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 

London web perfug_performancefocused_devops_feb2014

  • 1. 1 BEST PRACTICES ON PERFORMANCE- FOCUSED DEVOPS Andreas Grabner, Technology Strategist @ Compuware/dynaTrace
  • 2.
  • 4. Who is doing it? How many successful deployments can they do? 300 Deployments / Year 50-60 Deployments / Day 10+ Deployments / Day Every 11.6 seconds
  • 5. More on Amazons Story 75% fewer outages since 2006 90% fewer outage minutes ~0.001% of deployments cause a problem Instantaneous automatic rollback Deploying every 11.6s
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Testing is Important – and gives Confidence
  • 11. But are we ready for “The Real” world?
  • 12. Measure Performance during the game Ball Possession: 40 : 60 Fouls: 0 : 0 Score: 0 : 0 Minute 1 - 5
  • 13. Measure Performance during the game Minute 6 - 35 Ball Possession: 80 : 20 Fouls: 2 : 12 Score: 0 : 0
  • 15. Options “To Fix” the situation
  • 16. Not always a happy ending  Minute 90 Ball Possession: 80 : 20 Fouls: 4 : 25 Score: 3 : 0
  • 18. How does that relate to Software?
  • 19. From Deploy to … Deploy Promotion/Event Problems Ops Playbook War Room Timeline
  • 20. The “War Room” – back then 'Houston, we have a problem‘ NASA Mission Control Center, Apollo 13, 1970
  • 21. The “War Room” – NOW Facebook – December 2012
  • 22. Problem: Attitudes like this don’t help either Image taken from https://www.scriptrock.com/blog/devops-whats-hype-about/ Shopzilla CIO (in 2010): “… when they get in the war room - the developers and ops teams describe the problem as the enemy, not each other”
  • 23. Problem: Very “expensive” to work on these issues ~80% of problems caused by ~20% patterns YES we know this 80%Dev Time in Bug Fixing $60BDefect Costs BUT
  • 24.
  • 25.
  • 26. Lets start on the frontend - 80/20 rule from Steve
  • 27. The impact of Architectural Decisions Metrics: # Visitors, # Requests / User
  • 28. Bloated Mobile Web Sites (Shopping Sites Dec 2013) Huge Java Script, HTML and CSS Files Large Resources take longer to load – especially on slow connections Total Size: 2.5MB Metric: Total Page Size
  • 29. Bloated Mobile Web Sites Super Bowl Ad Landing Page 434 Resources in total on that page: 230 JPEGs, 75 PNGs, 50 GIFs, … Total size of ~ 20MB Good First Impression and OnLoad Time – but very long Total Load Time Metrics: Load Time, # Resources, …
  • 30. Mobile Web Site: JUST Redirects to regular page Most CSS and JS files are redirected to the www domain This is a lot of time “wasted” especially on high latency mobile connections Metric: # HTTP 3xx, 4xx, 5xx
  • 31. Individual images are very small But downloading so many resoures in parallel takes its time due to browser connection limits 52 individual country flags! Metric: # Images
  • 32. Misconfigured CDN! 46! HTTP 403 Requests for images on the landing page Probably a configuration problem with their Amazon AWS CDN Lots of time “wasted” due to roundtrips that just result in a 403 Metric: # HTTP 4xx
  • 33. Slow JavaScript 1.1s on my IE 10 to execute magicSpanLinks() The each loop calls this block of JavaScript for every span node 759 span nodes are processed by the anonymous function It adds the dynamically generated link and removes the old span We can see all the DOM Modifications and how this sums up in execution time Metric: Time Spent in JS Execution
  • 34. Browser-specific Problems • “I would love to spend money with you – but I cant get through the checkout process” • Looked at the data from this user to identify the error HTTP 404 at OrderItemAdd Metric: HTTP xxx per Browser
  • 35. Root Cause: A cookie bug in Safari Invalid Cookie Exception Impacts ALL Safari Users • ALL Safari users were impacted that bought a product with special characters in the name Metric: # Exceptions per User, # Exceptions per Browser
  • 36. But - then we have to focus on the backend
  • 37. Deployment Mistakes lead to internal Exceptions Metric: # of Exception Objects Created
  • 38. Deployment Mistakes lead to high logging overhead Metric: Time Spent in critical Methods
  • 39. Production Deployment leads to Log SYNC Issues Metric: Time Spent in Sync & Logging # of Log Messages
  • 40. Top Problem Patterns: Resource Pools Metric: Connection Pool Usage, Acquisition Time
  • 41. Long running SQL with Production Data Metric: Time Spent in SQL Execution
  • 42. N+1 Query Problem Metric: # SQL Executions / Request # of “same” SQL Executions
  • 43. Memory Leaks under Production Load Still crashes Problem fixed!Fixed Version Deployed Metric: Heap Size, Object Churn Rate
  • 44. List of Metrics we just saw • Architectural Metrics – Active Worker Threads – Time Spent in Tier/Class – # of Exception Objects Created – Time Spent in critical Methods – Time Spent in Sync & Logging – # of Log Messages • Database Metrics – Connection Pool Usage, Acquisition Time – Time Spent in SQL Execution – # SQL Executions / Request – # of “same” SQL Executions • Memory Metrics – Heap Size, Object Churn Rate – # Important Objects on Heap • Web & Mobile Metrics – Size and # of Resources – # of JS Files – Total Page Size – # HTTP 3xx, 4xx, 5xx – Time Spent in JS Execution – # Crashes – # Errors
  • 45. Want MORE of these and more details? http://apmblog.compuware.com
  • 46.
  • 47. How about this idea? 12 0 120ms 3 1 68ms Build 20 testPurchase OK testSearch OK Build 17 testPurchase OK testSearch OK Build 18 testPurchase FAILED testSearch OK Build 19 testPurchase OK testSearch OK Build # Test Case Status # SQL # Excep CPU 12 0 120ms 3 1 68ms 12 5 60ms 3 1 68ms 75 0 230ms 3 1 68ms Test Framework Results Architectural Data We identified a regresesion Problem solved Lets look behind the scenes Exceptions probably reason for failed tests Problem fixed but now we have an architectural regression Problem fixed but now we have an architectural regression Now we have the functional and architectural confidence
  • 48. How? Performance Focus in Test Automation Cross Impact of KPIs Analyzing All Unit / Performance Tests Analyze Perf Metrics Identify Regressions
  • 49. How? Performance Focus in Test Automation Embed your Architectural Results in Jenkins
  • 50. 59 Getting control over your weekend again … Enjoy a beer with friends? Instead of pizza and soda with your colleagues?
  • 51. IF WE DO ALL THAT 80% Dev Time for Bug Fixing $60B Costs by Defects
  • 53. FREE Products & More Info • dynaTrace Enterprise – Full End-to-End Visibility in your Java, .NET, PHP Apps – Sign up for a 15 Days Free Trial on http://compuwareapm.com • dynaTrace AJAX Edition – Browser Diagnostics for IE + FF – Download @ http://ajax.dynatrace.com • Our Blog: http://apmblog.compuware.com
  • 54. Want MORE of these and more details? http://apmblog.compuware.com
  • 55. © 2011 Compuware Corporation — All Rights Reserved Simply Smarter