SlideShare a Scribd company logo
LET’S LEARN
FROM THE TOP
PERF MISTAKES
@grabnerandi
http://apmblog.compuware.com
What to do with the fastest car …
… if it fails to reach the finish line
What to do with
millions of $$ for
building a web
site …
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
Performance,
Scalability & Architecture
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#1: Architectural
Decisions
#1: “We want more Web 2.0”
#1: Load Test Prior to Change
#1: Load Test After Change
Metrics: # Visitors
# Requests / User
Business: Do we need
all these bells and
whistles?
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#2: Disconnected
Teams
#2: “Teamwork” between Dev and Ops
SEV1 Problem in Production
Need access to log files
Where are they? Can’t get them
Need to increase log level
Can’t do! Can’t change config
files in prod!
#2: Solution: Implement a Custom “On Demand”
Remote Logger
#2: Implementation and Rollout
Implemented
Custom Logger
Worked well in
Load Testing
#2: What happened?
~ 1Mio Lock Exceptions in 30
mins
#2: Root Cause: A special WebSphere Setting!
Log Service provides a synchronized
log file across ALL JVMs
Log Service provides a
synchronized log file across
ALL JVMs
Metrics: # Log Messages,
# Exceptions
Share: Same Server
Settings
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#3:
Implementation
Flaws
#3: Business Impact requires Action!
#3: Solution: Cache to the RESCUE!!
#3: Implementation and Rollout
Implemented
InMemory Cache
Worked well in
Load Testing
#3: Result: Out of Memory Crashes!!
Still crashes
Problem fixed!Fixed Version Deployed
Metrics: Heap Size,
# Objects Allocated,
# Objects in Cache
Cache Hit Ratio
Test: With realistic Data
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#4: Push
without a Plan
#4: Mobile Landing Page of Super Bowl Ad
434 Resources in total on that page:
230 JPEGs, 75 PNGs, 50 GIFs, …
Total size of ~
20MB
#4: m.store.com redirects to www.store.com
ALL CSS and JS files are
redirected to the www domain
This is a lot of time “wasted”
especially on high latency mobile
connections
#4: Critical Pages not Optimized!
Browse, Search
and Product Info
performs well
… because they don’t follow
best practices: 87 Requests, 28
Redirects, …
Critical Pages such as
Shopping Cart are very
slow …
Metrics: Load Time,
# Resources (Images, …),
# HTTP 3xx, 4xx, 5xx
Dev: Build for Mobile
Test: Test on Mobile
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#5: “Blindly”
(Re)use Existing
Components
#5: Requirement: We need a report
#5: Using Hibernate results in 4k+ SQL Statements
to display 3 items!
Hibernate
Executes 4k+
Statements
Individual
Execution VERY
FAST
But Total SUM
takes 6s
#5: Requirement: We need a fancy UI
#5: Using Telerik Controls Results in 9s for Data-
Binding of UI Controls
#1: Slow Stored Procedure
Depending on Request
execution time of this SP
varies between 1 and 7.5s
#2: 240! Similar SQL Statements
Most of these 240! Statements
are not prepared and just differ in
things like Column Names
Metrics: # Total SQLs
# SQLs / Web Request
# Same SQLs / Request
Transferred Rows
Test: With realistic Data
Dev: “Learn” Frameworks
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
#6: No “Agile”
Deployment
Adonair
#6: Load Spike resulted in Unavailability
#6: Alternative: “GoDaddy goes DevOps”
1h before
SuperBowl KickOff
1h after
Game ended
#6: Behind the Scenes
Metrics: Availability
Page Size, # Objects
# Hosts, # Connections
DevOps: “Feature”
Switches
What have we
learned today?
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
# of Requests / User
# of Log Messages
# of Exceptions
# Objects Allocated
# Objects In Cache
Cache Hit Ratio
# of Images
# of SQLs
# SQLs per RequestAvailability
# HTTP 3xx, 4xx
Page Size
A final thought …
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
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
Let’s 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
More Info
• My Blog: http://apmblog.compuware.com
• Tweet about it: @grabnerandi
• 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
THANK YOU
@grabnerandi

More Related Content

What's hot (20)

PDF
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 
PPTX
Bdd with Cucumber and Mocha
Atish Narlawar
 
PPT
Windy cityrails performance_tuning
John McCaffrey
 
PPTX
Untangling - fall2017 - week 10
Derek Jacoby
 
PPTX
Untangling11
Derek Jacoby
 
PPTX
Real-World Boot-Up Sequences - QuickBooks Self-Employed
Tim Hobson
 
PDF
End-to-End test architectures, a dead End road
Roy Braam
 
PDF
Cucumber ppt
Qwinix Technologies
 
PPTX
MWLUG - Universal Java
Philippe Riand
 
PPTX
Web Cache Deception Attack
Omer Gil
 
PDF
An Introduction to jOOQ
Steve Pember
 
PPTX
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
Sencha
 
PDF
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
PPTX
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
PPTX
BDD testing with cucumber
Daniel Kummer
 
PDF
Introduction core web vitals
SortdMediology
 
PDF
Writing less code with Serverless on AWS at OOP 2022
Vadym Kazulkin
 
PPT
Test Automation With Cucumber JVM, Selenium, and Mocha
Salesforce Developers
 
PDF
Powerful Automation Made Simple
Gaetano Giunta
 
PDF
React, London JS Meetup, 11 Aug 2015
Stuart Harris
 
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 
Bdd with Cucumber and Mocha
Atish Narlawar
 
Windy cityrails performance_tuning
John McCaffrey
 
Untangling - fall2017 - week 10
Derek Jacoby
 
Untangling11
Derek Jacoby
 
Real-World Boot-Up Sequences - QuickBooks Self-Employed
Tim Hobson
 
End-to-End test architectures, a dead End road
Roy Braam
 
Cucumber ppt
Qwinix Technologies
 
MWLUG - Universal Java
Philippe Riand
 
Web Cache Deception Attack
Omer Gil
 
An Introduction to jOOQ
Steve Pember
 
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
Sencha
 
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
BDD testing with cucumber
Daniel Kummer
 
Introduction core web vitals
SortdMediology
 
Writing less code with Serverless on AWS at OOP 2022
Vadym Kazulkin
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Salesforce Developers
 
Powerful Automation Made Simple
Gaetano Giunta
 
React, London JS Meetup, 11 Aug 2015
Stuart Harris
 

Viewers also liked (20)

PDF
Els recursos energètics
sergimar
 
PDF
2009 Spring Newsletter
Direct Relief
 
PPTX
Problemas de aprendizaje
Rogelio Hernández
 
PDF
เรื่อง ภูกระดึง
Pharm Prince
 
PDF
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
CreAgri Europe
 
PDF
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
CreAgri Europe
 
PPT
Western New York Educational Service Council Presentation
UB Alberti Center for Bullying Abuse Prevention
 
PPTX
Social Media Presentation
dinaallegrini
 
PDF
希望新聞特別版のご紹介
Shinichi Yamao
 
PPT
Robin hood
Alejandra Solano
 
PDF
Hum1020 sp2015 syllabus
ProfWillAdams
 
PDF
Computerworld Honors Direct Relief Case Study
Direct Relief
 
PDF
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
ArthritisNT
 
PPS
Theballproject inspire
Rohit Dsouza
 
PPT
Pink hairball kirk weisler
kirkweisler
 
PDF
Spring Day | Spring and Scala | Eberhard Wolff
JAX London
 
PPTX
Presentation10
Katerina Arabatzi
 
PPT
Self-introduction of Zhaojinbiao
zhaojinbiao
 
PDF
Alberti Center Colloquium Series - Dr. Jamie Ostrov
UB Alberti Center for Bullying Abuse Prevention
 
PDF
Direct Relief FY 2014 Annual Report
Direct Relief
 
Els recursos energètics
sergimar
 
2009 Spring Newsletter
Direct Relief
 
Problemas de aprendizaje
Rogelio Hernández
 
เรื่อง ภูกระดึง
Pharm Prince
 
Il modello nutrizionale mediterraneo nelle malattie reumatiche infiammatorie
CreAgri Europe
 
L'idrossitirosolo è in grado di proteggere e aumentare l'attività dei mitocon...
CreAgri Europe
 
Western New York Educational Service Council Presentation
UB Alberti Center for Bullying Abuse Prevention
 
Social Media Presentation
dinaallegrini
 
希望新聞特別版のご紹介
Shinichi Yamao
 
Robin hood
Alejandra Solano
 
Hum1020 sp2015 syllabus
ProfWillAdams
 
Computerworld Honors Direct Relief Case Study
Direct Relief
 
Measuring the Impact of Injury to Enhance Recovery, Pam Garton, Managing Dire...
ArthritisNT
 
Theballproject inspire
Rohit Dsouza
 
Pink hairball kirk weisler
kirkweisler
 
Spring Day | Spring and Scala | Eberhard Wolff
JAX London
 
Presentation10
Katerina Arabatzi
 
Self-introduction of Zhaojinbiao
zhaojinbiao
 
Alberti Center Colloquium Series - Dr. Jamie Ostrov
UB Alberti Center for Bullying Abuse Prevention
 
Direct Relief FY 2014 Annual Report
Direct Relief
 
Ad

Similar to STP 2014 - Lets Learn from the Top Performance Mistakes in 2013 (20)

PPTX
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Andreas Grabner
 
PPTX
London web perfug_performancefocused_devops_feb2014
Andreas Grabner
 
PPTX
JavaOne 2015: Top Performance Patterns Deep Dive
Andreas Grabner
 
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Andreas Grabner
 
PPTX
Top Java Performance Problems and Metrics To Check in Your Pipeline
Andreas Grabner
 
PDF
JUG Poznan - 2017.01.31
Omnilogy
 
PPTX
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Andreas Grabner
 
PDF
Scalability and performance for e commerce
Ecommerce Solution Provider SysIQ
 
PPTX
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
Andreas Grabner
 
PPTX
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Andreas Grabner
 
PPTX
The Business Justification for APM
Jonah Kowall
 
PDF
Become a Performance Diagnostics Hero
TechWell
 
PPTX
The High Performance Web Application Lifecycle
Alois Reitbauer
 
PDF
The Cloud: A game changer to test, at scale and in production, SOA based web...
Fred Beringer
 
PDF
Web Performance at First Glance
Atlassian
 
PDF
Improve conversion and_avoid_abandonment
Compuware ASEAN
 
PDF
Site Managing Performance
Desmond Tam
 
PDF
JCON World 2023 - Cache, but Cache Wisely.pdf
DevenPhillips
 
PDF
Ez performance measurement
Gaetano Giunta
 
PPTX
Sava Sertov - Performance specialist, eCommera: site performance - slow, fast...
ecommcongress
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Andreas Grabner
 
London web perfug_performancefocused_devops_feb2014
Andreas Grabner
 
JavaOne 2015: Top Performance Patterns Deep Dive
Andreas Grabner
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Andreas Grabner
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Andreas Grabner
 
JUG Poznan - 2017.01.31
Omnilogy
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Andreas Grabner
 
Scalability and performance for e commerce
Ecommerce Solution Provider SysIQ
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
Andreas Grabner
 
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Andreas Grabner
 
The Business Justification for APM
Jonah Kowall
 
Become a Performance Diagnostics Hero
TechWell
 
The High Performance Web Application Lifecycle
Alois Reitbauer
 
The Cloud: A game changer to test, at scale and in production, SOA based web...
Fred Beringer
 
Web Performance at First Glance
Atlassian
 
Improve conversion and_avoid_abandonment
Compuware ASEAN
 
Site Managing Performance
Desmond Tam
 
JCON World 2023 - Cache, but Cache Wisely.pdf
DevenPhillips
 
Ez performance measurement
Gaetano Giunta
 
Sava Sertov - Performance specialist, eCommera: site performance - slow, fast...
ecommcongress
 
Ad

More from Andreas Grabner (20)

PPTX
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
Andreas Grabner
 
PPTX
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
Andreas Grabner
 
PPTX
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Andreas Grabner
 
PPTX
Observability and Orchestration of your GitOps Deployments with Keptn
Andreas Grabner
 
PPTX
Release Readiness Validation with Keptn for Austrian Online Banking Software
Andreas Grabner
 
PPTX
Adding Security to your SLO-based Release Validation with Keptn
Andreas Grabner
 
PPTX
A Guide to Event-Driven SRE-inspired DevOps
Andreas Grabner
 
PPTX
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Andreas Grabner
 
PPTX
Continuous Delivery and Automated Operations on k8s with keptn
Andreas Grabner
 
PPTX
Keptn - Automated Operations & Continuous Delivery for k8s
Andreas Grabner
 
PPTX
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Andreas Grabner
 
PPTX
Top Performance Problems in Distributed Architectures
Andreas Grabner
 
PPTX
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Andreas Grabner
 
PPTX
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Andreas Grabner
 
PPTX
How to explain DevOps to your mom
Andreas Grabner
 
PPTX
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Andreas Grabner
 
PPTX
AWS Summit - Trends in Advanced Monitoring for AWS environments
Andreas Grabner
 
PPTX
DevOps Transformation at Dynatrace and with Dynatrace
Andreas Grabner
 
PPTX
DevOps Pipelines and Metrics Driven Feedback Loops
Andreas Grabner
 
PPTX
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Andreas Grabner
 
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
Andreas Grabner
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
Andreas Grabner
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Andreas Grabner
 
Observability and Orchestration of your GitOps Deployments with Keptn
Andreas Grabner
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Andreas Grabner
 
Adding Security to your SLO-based Release Validation with Keptn
Andreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
Andreas Grabner
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Andreas Grabner
 
Continuous Delivery and Automated Operations on k8s with keptn
Andreas Grabner
 
Keptn - Automated Operations & Continuous Delivery for k8s
Andreas Grabner
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Andreas Grabner
 
Top Performance Problems in Distributed Architectures
Andreas Grabner
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Andreas Grabner
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Andreas Grabner
 
How to explain DevOps to your mom
Andreas Grabner
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Andreas Grabner
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
Andreas Grabner
 
DevOps Transformation at Dynatrace and with Dynatrace
Andreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
Andreas Grabner
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Andreas Grabner
 

Recently uploaded (20)

PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 

STP 2014 - Lets Learn from the Top Performance Mistakes in 2013

  • 1. LET’S LEARN FROM THE TOP PERF MISTAKES @grabnerandi http://apmblog.compuware.com
  • 2. What to do with the fastest car …
  • 3. … if it fails to reach the finish line
  • 4. What to do with millions of $$ for building a web site …
  • 11. #1: “We want more Web 2.0”
  • 12. #1: Load Test Prior to Change
  • 13. #1: Load Test After Change
  • 14. Metrics: # Visitors # Requests / User Business: Do we need all these bells and whistles?
  • 17. #2: “Teamwork” between Dev and Ops SEV1 Problem in Production Need access to log files Where are they? Can’t get them Need to increase log level Can’t do! Can’t change config files in prod!
  • 18. #2: Solution: Implement a Custom “On Demand” Remote Logger
  • 19. #2: Implementation and Rollout Implemented Custom Logger Worked well in Load Testing
  • 20. #2: What happened? ~ 1Mio Lock Exceptions in 30 mins
  • 21. #2: Root Cause: A special WebSphere Setting! Log Service provides a synchronized log file across ALL JVMs Log Service provides a synchronized log file across ALL JVMs
  • 22. Metrics: # Log Messages, # Exceptions Share: Same Server Settings
  • 25. #3: Business Impact requires Action!
  • 26. #3: Solution: Cache to the RESCUE!!
  • 27. #3: Implementation and Rollout Implemented InMemory Cache Worked well in Load Testing
  • 28. #3: Result: Out of Memory Crashes!! Still crashes Problem fixed!Fixed Version Deployed
  • 29. Metrics: Heap Size, # Objects Allocated, # Objects in Cache Cache Hit Ratio Test: With realistic Data
  • 32. #4: Mobile Landing Page of Super Bowl Ad 434 Resources in total on that page: 230 JPEGs, 75 PNGs, 50 GIFs, … Total size of ~ 20MB
  • 33. #4: m.store.com redirects to www.store.com ALL CSS and JS files are redirected to the www domain This is a lot of time “wasted” especially on high latency mobile connections
  • 34. #4: Critical Pages not Optimized! Browse, Search and Product Info performs well … because they don’t follow best practices: 87 Requests, 28 Redirects, … Critical Pages such as Shopping Cart are very slow …
  • 35. Metrics: Load Time, # Resources (Images, …), # HTTP 3xx, 4xx, 5xx Dev: Build for Mobile Test: Test on Mobile
  • 38. #5: Requirement: We need a report
  • 39. #5: Using Hibernate results in 4k+ SQL Statements to display 3 items! Hibernate Executes 4k+ Statements Individual Execution VERY FAST But Total SUM takes 6s
  • 40. #5: Requirement: We need a fancy UI
  • 41. #5: Using Telerik Controls Results in 9s for Data- Binding of UI Controls #1: Slow Stored Procedure Depending on Request execution time of this SP varies between 1 and 7.5s #2: 240! Similar SQL Statements Most of these 240! Statements are not prepared and just differ in things like Column Names
  • 42. Metrics: # Total SQLs # SQLs / Web Request # Same SQLs / Request Transferred Rows Test: With realistic Data Dev: “Learn” Frameworks
  • 45. Adonair #6: Load Spike resulted in Unavailability
  • 46. #6: Alternative: “GoDaddy goes DevOps” 1h before SuperBowl KickOff 1h after Game ended
  • 47. #6: Behind the Scenes
  • 48. Metrics: Availability Page Size, # Objects # Hosts, # Connections DevOps: “Feature” Switches
  • 54. # of Requests / User # of Log Messages # of Exceptions # Objects Allocated # Objects In Cache Cache Hit Ratio # of Images # of SQLs # SQLs per RequestAvailability # HTTP 3xx, 4xx Page Size
  • 57. 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 Let’s 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
  • 58. How? Performance Focus in Test Automation Cross Impact of KPIs Analyzing All Unit / Performance Tests Analyze Perf Metrics Identify Regressions
  • 59. More Info • My Blog: http://apmblog.compuware.com • Tweet about it: @grabnerandi • 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

Editor's Notes

  • #7: … if it doesn’t scale
  • #59: When we look at the results of your Testing Framework from Build over Build we can easily spot functional regressions. In our example we see that testPurchase fails in Build 18. We notify the developer, problem gets fixed and with Build 19 we are back to functional correctness. Looking behind the scenesThe problem is that Functional Testing only verifies the functionality to the caller of the tested function. Using dynaTrace we are able to analyze the internals of the tested code. We analyze metrics such as Number of Executed SQL Statements, Number of Exceptions thrown, Time spent on CPU, Memory Consumption, Number of Remoting Calls, Transfered Bytes, …In Build 18 we can see a nice correlation of Exceptions to the failed functional test. We can assume that one of these exceptions caused the problem. For a developer it would be very helpful to get exception information which helps to quickly identify the root cause of the problem and solve it faster.In Build 19 the Testing Framework indicates ALL GREEN. When we look behind the scenes we see that we have a big jump in SQL Statements as well as CPU Usage. What just happened? The Developer fixed the functional problem but introduced an architectural regression. This needs to be looked into – otherwise this change will have negative impact on the application once tested under loadIn Build 20 all these problems are fixed. We are still meeting our functional goals and are back to acceptable number of SQL Statements, Exceptions, CPU Usage, …
  • #60: Web Architectural Metrics# of JS Files, # of CSS, # of redirectsSize of Images