SlideShare une entreprise Scribd logo
1  sur  65
Performance Clinic Workshop 
From Zero to Performance Hero 
Andreas Grabner (@grabnerandi) 
agrabner@dynatrace.com 
http://bit.ly/atd2014challenge
Why Applications Fail and/or are Slow!
Performance areas we cover today 
• Frontend 
• Backend 
• Deployment
Frontend
http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/
#Overloaded Web Pages 
• #1: Too many resources loaded on web page 
– Images: can be “sprited” 
– CSS and JS: can be merged 
• #2: Large Content 
– Images: do you need high-res? Compress! 
– CSS and JS: Minify, remove comments, … 
• #3: 3rd Party Content 
– Slow or too much 
• #4: AJAX to the MAX! 
– Too many AJAX Calls requesting too much data
Examples on Overloaded
This is a heavy page
This is a light page 
http://apmblog.compuware.com/2011/11/29/5-things-to-learn-from-jc-penney-and-other-strong-black-friday-and-cyber-monday-performers/
softdrink.com during SuperBowl 
434 Resources in total on that page: 
230 JPEGs, 75 PNGs, 50 GIFs, … 
Total size of ~ 
20MB 
http://apmblog.compuware.com/2014/01/31/technical-and-business-web-performance-tips-for-super-bowl-ad-landing-pages/
Fifa.com during Worldcup 
http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/
Ad on air 
Kia.com during SuperBowl
GoDaddy.com during SuperBowl 
1h before 
SuperBowl KickOff 
1h after 
Game ended
Kia vs GoDaddy: The Facts! 
http://apmblog.compuware.com/2014/02/19/dns-tcp-and-size-application-performance-best-practices-of-super-bowl-advertisers/
3rd Party Content
Do you really need all bells and whistles? 
# of Domains # of Resources Total Bytes DNS [ms] Connect [ms] 
With Third 
Party Content 
26 176 2856 Kb 1286,82 1176,09 
Without Third 
Party Content 
2 59 897 Kb 0,91 22,25
Too heavy AJAX/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
3rd Party JavaScript Problems 
Slow 3rd Party 
Libraries 
Slow jQuery 
Lookukps
15 Minute Sanity Check – Live Demo 
• Dynatrace Performance Test Center 
– http://www.dynatrace.com/en_us/application-performance-management/ 
products/performance-center.html 
• Dynatrace Browser Agent (formerly AJAX Edition) 
– http://apmblog.compuware.com/2014/07/01/can-monitor-web-performance- 
free/ 
• Fiddler – simulate other browsers 
– http://www.telerik.com/fiddler 
• PerfMap – HeatMap for a Website 
– https://github.com/zeman/perfmap
Summary – WPO Best Practices 
• Additional Blog Posts 
– http://apmblog.compuware.com/2013/12/02/the-terrible-website-performance-mistakes-of-mobile-shopping-sites-in-2013/ 
– http://apmblog.compuware.com/2011/11/29/5-things-to-learn-from-jc-penney-and-other-strong-black-friday-and-cyber-monday- 
performers/ 
– http://apmblog.compuware.com/2010/08/25/top-10-client-side-performance-problems-in-web-2-0/ 
• Recommended Books from Steve Souders covering things like 
– Make fewer HTTP Requests 
– Proper Cache Settings 
– Optimize/Compress Content 
– Use CDNs 
– Watch out for 3rd Parties
Tooling Support 
• http://bit.ly/dttrial 
• http://ajax.dynatrace.com 
• http://yslow.org 
• https://developers.google.com/speed/pagespeed 
• http://www.webpagetest.org/ 
• http://www.sitespeed.io/ 
• http://www.showslow.org 
• http://www.telerik.com/fiddler 
• https://github.com/zeman/perfmap 
• https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/ 
djflhoibgkdhkhhcedjiklpkjnoahfmg
Hands-On
Backend 
Performance 
http://bit.ly/atd2014challenge 
@grabnerandi
Bad Architectural Decisions 
#1: Database Access 
N+1 Query Problem 
Loading Too Much Data 
Connection Leaks 
#2: External Frameworks 
Bad Configuration of O/R Mappers, e.g: Hibernate 
Worked well in Sample App Attitude 
#3: Excessive Logging & Exceptions 
Debug Logging turned on 
Using outdated logging libraries 
Exception Overload 
#4: Memory Leaks 
Keeping objects for too long 
Bad Cache Implementations 
#5: Bad Coding 
Synchronization to Death 
High on CPU
Examples
Database Access
Database: N+1 Query Problem
Querying too much Data All of these requests with large size 
have the same problem in common: 
DB Access 
24889 Calls to the 
Database! 
Tomcat needs to process all this data! 
SideEffect: High Memory Usage to process 
data -> results in high GC 
High GC is not the problem. It is 
just the symptom of too much data 
loaded!
Too many connections 12444 individual 
connections to 
execute 12444 
individual SQL 
Statements 
Individual executions 
are fast. But VOLUME is 
Classical N+1 Query Problem. The 
same SQL is executed many times 
with different WHERE Clause 
Optimize this by only calling it once 
with a better WHERE Clause 
killing you
Filtering Data in Memory instead of DB 
Most lookups are done 
by getRoomCapacity 
Assumption: All the data loaded ends 
up in Hashtable. The lookups are then 
very expensive because these Tables 
are so huge
External Frameworks
Non Optimized Hibernate 
http://apmblog.compuware.com/2014/04/23/database-access-quality-metrics-for-your-continuous-delivery-pipeline/
Non Optimized Telerik Controls 
http://apmblog.compuware.com/2014/04/03/database-access-patterns-gone-wild-inside-telerik-sharepoint-and-asp-net/
Logging
Too much Logging 
#1: Top Problem: log4j.callAppenders 
#2: Most of logging done from fillDetailmethod 
#3: Doing “DEBUG” log 
output: Is this necessary?
Exceptions vs. Log Messages 
http://apmblog.compuware.com/2014/04/01/dont-trust-your-log-files-how-and-why-to-monitor-all-exceptions/
Exception Logging Overload 
Tomcat logAbandoned=true flag causes 
many exceptions objects to be created 
http://apmblog.compuware.com/2012/08/01/top-performance-mistakes-when-moving-from-test-to-production-excessive-logging/
Exception Performance Overhead 
http://apmblog.compuware.com/2014/04/01/dont-trust-your-log-files-how-and-why-to-monitor-all-exceptions/
Memory
Oracle JDBC Driver Bug 
Each of the 10 JVMs per Host 
consumes up to 4.1GB until 
they crash (41GB per Host) 
It is a reoccurring 
pattern over months 
http://apmblog.compuware.com/2014/01/07/hunting-a-oracle-jdbc-memory-leak-crashing-an-80jvm-websphere-cluster/
No Object Cleanup Code! 
http://apmblog.compuware.com/2014/02/26/memory-leaks-load-balancing-and-deployment-settings-testing-lessons-learned-from-the-ecommerce-industry/
Bad Coding
Slow Custom RegEx 
http://apmblog.compuware.com/2014/10/16/15-minutes-spent-optimizing-performance-save-millions-lost-revenue/
Slow Content Rendering 
Rendering Methods take very long! 
Intializing GlyphLayout takes very long 
These slow rendering methods are called 
very frequently!
Synchronization 
http://apmblog.compuware.com/2013/09/24/100-performance-overhead-by-websphere-activity-log-when-dev-is-not-aware-of-settings-in-production/
15 Minute Sanity Check – Live Demo 
• Dynatrace
Summary – Backend Best Practices 
• Additional Blog Posts 
– http://apmblog.compuware.com/2013/04/10/top-8-application-performance-landmines/ 
– http://apmblog.compuware.com/2010/06/15/top-10-performance-problems-taken-from-zappos-monster-and-co/ 
• Online Java Enterprise Performance Book: http://javabook.compuware.com 
• Key Takeaways 
– Educate Developers 
– Understand Frameworks you are using
Hands-On
Deployment
Common Deployment Mistakes 
• Missing Resource Files 
– Many HTTP 4xx 
– Many HTTP 3xx Redirects -> overhead! 
• Missing Configuration Files 
– Web Server Access Rules -> Leads to HTTP 4xx 
– Web Server -> App Server: Connection & Thread Pools 
• Bad Modules or Configuration Problems 
– Leading to bad requests and overhead 
– Rewrite and Redirect Modules: Long chains of redirects 
• 3rd Party: 
– CDN Configuration Issues leads to outdated content or HTTP 4xx 
– Slow 3rd Party calls impact performance 
• Delivery Problems 
– Web Site Up – but not available to the outside world
Missing Resource Files 
http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
Wrong Access Right Configuration 
http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
Bad Connection Pool Configuration 
http://apmblog.compuware.com/2014/02/04/when-it-really-is-the-database-to-blame-for-bad-performance-a-story-about-slow-statements-and-resulting-connection-pool-issues/
Bad Web Server Modules 
http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
CDN Configuration Problems 
http://apmblog.compuware.com/2014/01/31/technical-and-business-web-performance-tips-for-super-bowl-ad-landing-pages/
Monitor your CDNs 
http://apmblog.compuware.com/2014/03/20/when-cdns-and-ssl-bring-down-your-site-lessons-learned-from-doritos-and-esurance-during-the-super-bowl/
Monitor your other 3rd Parties 
http://apmblog.compuware.com/2011/11/21/ecommerce-business-impact-of-3rd-party-address-validation-service/
www.outageanalyzer.com
15 Minute Sanity Check – Live Demo 
• Dynatrace Application Monitoring 
– http://www.dynatrace.com/en/products/application-monitoring. 
html 
• Dynatrace Synthetic Monitoring 
– http://www.dynatrace.com/en/products/synthetic-monitoring. 
html 
• Outage Analyzer 
– www.outageanalyzer.com
Tooling Support 
• http://bit.ly/atd2014challenge 
• http://www.outageanalyzer.com 
• http://blog.dynatrace.com 
• http://de.slideshare.net/grabnerandi 
• @grabnerandi
Hands-On

Contenu connexe

Tendances

Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance MistakesAndreas Grabner
 
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
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineAndreas 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
 
London WebPerf Meetup: End-To-End Performance Problems
London WebPerf Meetup: End-To-End Performance ProblemsLondon WebPerf Meetup: End-To-End Performance Problems
London WebPerf Meetup: End-To-End Performance ProblemsAndreas Grabner
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Andreas Grabner
 
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
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldAndreas Grabner
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsAndreas 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
 
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
 
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
 
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
 
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
 
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
 
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
 
Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsDynatrace
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryAndreas Grabner
 

Tendances (20)

Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance Mistakes
 
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!
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
 
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
 
London WebPerf Meetup: End-To-End Performance Problems
London WebPerf Meetup: End-To-End Performance ProblemsLondon WebPerf Meetup: End-To-End Performance Problems
London WebPerf Meetup: End-To-End Performance Problems
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
 
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...
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The World
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance Tips
 
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
 
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
 
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
 
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
 
Dyna trace
Dyna traceDyna trace
Dyna trace
 
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...
 
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
 
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!
 
Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability Hotspots
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 

En vedette

Employee-First Leaders Create Customer-First Companies
Employee-First Leaders Create Customer-First CompaniesEmployee-First Leaders Create Customer-First Companies
Employee-First Leaders Create Customer-First CompaniesMike Moore
 
Pengelolaan Barang
Pengelolaan BarangPengelolaan Barang
Pengelolaan BarangKang Tea
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabusProfWillAdams
 
2003 Winter Newsletter
2003 Winter Newsletter2003 Winter Newsletter
2003 Winter NewsletterDirect Relief
 
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam Terhadap Produktivi...
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam  Terhadap Produktivi...Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam  Terhadap Produktivi...
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam Terhadap Produktivi...21 Memento
 
Hum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireHum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireProfWillAdams
 
Оценка персонала
Оценка персоналаОценка персонала
Оценка персоналаNatali Starginskay
 
Hum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireHum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireProfWillAdams
 
Architecture | Thinking Distributed to Improve Agility | Jamie Allsop
Architecture | Thinking Distributed to Improve Agility | Jamie AllsopArchitecture | Thinking Distributed to Improve Agility | Jamie Allsop
Architecture | Thinking Distributed to Improve Agility | Jamie AllsopJAX London
 
2008 Winter Newsletter
2008 Winter Newsletter2008 Winter Newsletter
2008 Winter NewsletterDirect Relief
 
Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Paul Verwilt
 
Hum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireHum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireProfWillAdams
 

En vedette (20)

Employee-First Leaders Create Customer-First Companies
Employee-First Leaders Create Customer-First CompaniesEmployee-First Leaders Create Customer-First Companies
Employee-First Leaders Create Customer-First Companies
 
Power point harp seal
Power point harp sealPower point harp seal
Power point harp seal
 
Pengelolaan Barang
Pengelolaan BarangPengelolaan Barang
Pengelolaan Barang
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabus
 
2003 Winter Newsletter
2003 Winter Newsletter2003 Winter Newsletter
2003 Winter Newsletter
 
DIY to CMS
DIY to CMSDIY to CMS
DIY to CMS
 
Jadwal motor gp
Jadwal motor gpJadwal motor gp
Jadwal motor gp
 
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam Terhadap Produktivi...
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam  Terhadap Produktivi...Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam  Terhadap Produktivi...
Biologi Terapan - Laporan Perbedaan Pengaruh Bahan Tanam Terhadap Produktivi...
 
Alberti Center Colloquium Series - Dr. Jamie Ostrov
Alberti Center Colloquium Series - Dr. Jamie OstrovAlberti Center Colloquium Series - Dr. Jamie Ostrov
Alberti Center Colloquium Series - Dr. Jamie Ostrov
 
Hum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaireHum2310 fa2014 proust questionnaire
Hum2310 fa2014 proust questionnaire
 
Проект Жизнь
Проект ЖизньПроект Жизнь
Проект Жизнь
 
Оценка персонала
Оценка персоналаОценка персонала
Оценка персонала
 
Comrades
ComradesComrades
Comrades
 
Hum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireHum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaire
 
Tsahim 3
Tsahim 3Tsahim 3
Tsahim 3
 
Architecture | Thinking Distributed to Improve Agility | Jamie Allsop
Architecture | Thinking Distributed to Improve Agility | Jamie AllsopArchitecture | Thinking Distributed to Improve Agility | Jamie Allsop
Architecture | Thinking Distributed to Improve Agility | Jamie Allsop
 
2008 Winter Newsletter
2008 Winter Newsletter2008 Winter Newsletter
2008 Winter Newsletter
 
Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014
 
My Day by Heidy
My  Day by  HeidyMy  Day by  Heidy
My Day by Heidy
 
Hum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaireHum2310 fa2015 proust questionnaire
Hum2310 fa2015 proust questionnaire
 

Similaire à From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam

Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...
Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...
Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...George White
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Jeremy Likness
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedAndy Kucharski
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web ApplicationsJohn McCaffrey
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedPromet Source
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQLKonstantin Gredeskoul
 
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
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
Drupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthDrupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthPhilip Norton
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014Amazon Web Services
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentationmasudakram
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st CenturyMateusz Kwasniewski
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! HomepageNicholas Zakas
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applicationsTalbott Crowell
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWPSFO Meetup Group
 
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ..."It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...Vadym Kazulkin
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance DrupalJeff Geerling
 

Similaire à From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam (20)

Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...
Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...
Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to ...
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
 
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
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Drupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthDrupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp North
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentation
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress Hosting
 
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ..."It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 

Plus de 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
 
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
 

Plus de Andreas Grabner (16)

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
 
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
 

Dernier

WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 

Dernier (20)

WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 

From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam

  • 1. Performance Clinic Workshop From Zero to Performance Hero Andreas Grabner (@grabnerandi) agrabner@dynatrace.com http://bit.ly/atd2014challenge
  • 2. Why Applications Fail and/or are Slow!
  • 3. Performance areas we cover today • Frontend • Backend • Deployment
  • 5.
  • 7. #Overloaded Web Pages • #1: Too many resources loaded on web page – Images: can be “sprited” – CSS and JS: can be merged • #2: Large Content – Images: do you need high-res? Compress! – CSS and JS: Minify, remove comments, … • #3: 3rd Party Content – Slow or too much • #4: AJAX to the MAX! – Too many AJAX Calls requesting too much data
  • 9. This is a heavy page
  • 10. This is a light page http://apmblog.compuware.com/2011/11/29/5-things-to-learn-from-jc-penney-and-other-strong-black-friday-and-cyber-monday-performers/
  • 11. softdrink.com during SuperBowl 434 Resources in total on that page: 230 JPEGs, 75 PNGs, 50 GIFs, … Total size of ~ 20MB http://apmblog.compuware.com/2014/01/31/technical-and-business-web-performance-tips-for-super-bowl-ad-landing-pages/
  • 12. Fifa.com during Worldcup http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/
  • 13. Ad on air Kia.com during SuperBowl
  • 14. GoDaddy.com during SuperBowl 1h before SuperBowl KickOff 1h after Game ended
  • 15. Kia vs GoDaddy: The Facts! http://apmblog.compuware.com/2014/02/19/dns-tcp-and-size-application-performance-best-practices-of-super-bowl-advertisers/
  • 17. Do you really need all bells and whistles? # of Domains # of Resources Total Bytes DNS [ms] Connect [ms] With Third Party Content 26 176 2856 Kb 1286,82 1176,09 Without Third Party Content 2 59 897 Kb 0,91 22,25
  • 18. Too heavy AJAX/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
  • 19. 3rd Party JavaScript Problems Slow 3rd Party Libraries Slow jQuery Lookukps
  • 20. 15 Minute Sanity Check – Live Demo • Dynatrace Performance Test Center – http://www.dynatrace.com/en_us/application-performance-management/ products/performance-center.html • Dynatrace Browser Agent (formerly AJAX Edition) – http://apmblog.compuware.com/2014/07/01/can-monitor-web-performance- free/ • Fiddler – simulate other browsers – http://www.telerik.com/fiddler • PerfMap – HeatMap for a Website – https://github.com/zeman/perfmap
  • 21. Summary – WPO Best Practices • Additional Blog Posts – http://apmblog.compuware.com/2013/12/02/the-terrible-website-performance-mistakes-of-mobile-shopping-sites-in-2013/ – http://apmblog.compuware.com/2011/11/29/5-things-to-learn-from-jc-penney-and-other-strong-black-friday-and-cyber-monday- performers/ – http://apmblog.compuware.com/2010/08/25/top-10-client-side-performance-problems-in-web-2-0/ • Recommended Books from Steve Souders covering things like – Make fewer HTTP Requests – Proper Cache Settings – Optimize/Compress Content – Use CDNs – Watch out for 3rd Parties
  • 22. Tooling Support • http://bit.ly/dttrial • http://ajax.dynatrace.com • http://yslow.org • https://developers.google.com/speed/pagespeed • http://www.webpagetest.org/ • http://www.sitespeed.io/ • http://www.showslow.org • http://www.telerik.com/fiddler • https://github.com/zeman/perfmap • https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/ djflhoibgkdhkhhcedjiklpkjnoahfmg
  • 25.
  • 26.
  • 27. Bad Architectural Decisions #1: Database Access N+1 Query Problem Loading Too Much Data Connection Leaks #2: External Frameworks Bad Configuration of O/R Mappers, e.g: Hibernate Worked well in Sample App Attitude #3: Excessive Logging & Exceptions Debug Logging turned on Using outdated logging libraries Exception Overload #4: Memory Leaks Keeping objects for too long Bad Cache Implementations #5: Bad Coding Synchronization to Death High on CPU
  • 31. Querying too much Data All of these requests with large size have the same problem in common: DB Access 24889 Calls to the Database! Tomcat needs to process all this data! SideEffect: High Memory Usage to process data -> results in high GC High GC is not the problem. It is just the symptom of too much data loaded!
  • 32. Too many connections 12444 individual connections to execute 12444 individual SQL Statements Individual executions are fast. But VOLUME is Classical N+1 Query Problem. The same SQL is executed many times with different WHERE Clause Optimize this by only calling it once with a better WHERE Clause killing you
  • 33. Filtering Data in Memory instead of DB Most lookups are done by getRoomCapacity Assumption: All the data loaded ends up in Hashtable. The lookups are then very expensive because these Tables are so huge
  • 35. Non Optimized Hibernate http://apmblog.compuware.com/2014/04/23/database-access-quality-metrics-for-your-continuous-delivery-pipeline/
  • 36. Non Optimized Telerik Controls http://apmblog.compuware.com/2014/04/03/database-access-patterns-gone-wild-inside-telerik-sharepoint-and-asp-net/
  • 38. Too much Logging #1: Top Problem: log4j.callAppenders #2: Most of logging done from fillDetailmethod #3: Doing “DEBUG” log output: Is this necessary?
  • 39. Exceptions vs. Log Messages http://apmblog.compuware.com/2014/04/01/dont-trust-your-log-files-how-and-why-to-monitor-all-exceptions/
  • 40. Exception Logging Overload Tomcat logAbandoned=true flag causes many exceptions objects to be created http://apmblog.compuware.com/2012/08/01/top-performance-mistakes-when-moving-from-test-to-production-excessive-logging/
  • 41. Exception Performance Overhead http://apmblog.compuware.com/2014/04/01/dont-trust-your-log-files-how-and-why-to-monitor-all-exceptions/
  • 43. Oracle JDBC Driver Bug Each of the 10 JVMs per Host consumes up to 4.1GB until they crash (41GB per Host) It is a reoccurring pattern over months http://apmblog.compuware.com/2014/01/07/hunting-a-oracle-jdbc-memory-leak-crashing-an-80jvm-websphere-cluster/
  • 44. No Object Cleanup Code! http://apmblog.compuware.com/2014/02/26/memory-leaks-load-balancing-and-deployment-settings-testing-lessons-learned-from-the-ecommerce-industry/
  • 46. Slow Custom RegEx http://apmblog.compuware.com/2014/10/16/15-minutes-spent-optimizing-performance-save-millions-lost-revenue/
  • 47. Slow Content Rendering Rendering Methods take very long! Intializing GlyphLayout takes very long These slow rendering methods are called very frequently!
  • 49. 15 Minute Sanity Check – Live Demo • Dynatrace
  • 50. Summary – Backend Best Practices • Additional Blog Posts – http://apmblog.compuware.com/2013/04/10/top-8-application-performance-landmines/ – http://apmblog.compuware.com/2010/06/15/top-10-performance-problems-taken-from-zappos-monster-and-co/ • Online Java Enterprise Performance Book: http://javabook.compuware.com • Key Takeaways – Educate Developers – Understand Frameworks you are using
  • 53.
  • 54. Common Deployment Mistakes • Missing Resource Files – Many HTTP 4xx – Many HTTP 3xx Redirects -> overhead! • Missing Configuration Files – Web Server Access Rules -> Leads to HTTP 4xx – Web Server -> App Server: Connection & Thread Pools • Bad Modules or Configuration Problems – Leading to bad requests and overhead – Rewrite and Redirect Modules: Long chains of redirects • 3rd Party: – CDN Configuration Issues leads to outdated content or HTTP 4xx – Slow 3rd Party calls impact performance • Delivery Problems – Web Site Up – but not available to the outside world
  • 55. Missing Resource Files http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
  • 56. Wrong Access Right Configuration http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
  • 57. Bad Connection Pool Configuration http://apmblog.compuware.com/2014/02/04/when-it-really-is-the-database-to-blame-for-bad-performance-a-story-about-slow-statements-and-resulting-connection-pool-issues/
  • 58. Bad Web Server Modules http://apmblog.compuware.com/2012/08/07/top-performance-mistakes-when-moving-from-test-to-production-deployment-mistakes/
  • 59. CDN Configuration Problems http://apmblog.compuware.com/2014/01/31/technical-and-business-web-performance-tips-for-super-bowl-ad-landing-pages/
  • 60. Monitor your CDNs http://apmblog.compuware.com/2014/03/20/when-cdns-and-ssl-bring-down-your-site-lessons-learned-from-doritos-and-esurance-during-the-super-bowl/
  • 61. Monitor your other 3rd Parties http://apmblog.compuware.com/2011/11/21/ecommerce-business-impact-of-3rd-party-address-validation-service/
  • 63. 15 Minute Sanity Check – Live Demo • Dynatrace Application Monitoring – http://www.dynatrace.com/en/products/application-monitoring. html • Dynatrace Synthetic Monitoring – http://www.dynatrace.com/en/products/synthetic-monitoring. html • Outage Analyzer – www.outageanalyzer.com
  • 64. Tooling Support • http://bit.ly/atd2014challenge • http://www.outageanalyzer.com • http://blog.dynatrace.com • http://de.slideshare.net/grabnerandi • @grabnerandi

Notes de l'éditeur

  1. Overloaded