SlideShare a Scribd company logo
Low Hanging Fruits in Optimizing J EE Performance Alois Reitbauer,  dyna Trace Software
1 n . . . Servlet Threads CPU 1 n . . . DB Conn. What‘s inside ?
a sample application architecture … …  and common performance pitfalls O/R Access Rendering State Handling Latency Data Volume Comm. Behavior JavaScript Data Volume Comm. Behavior Memory and GC Memory and GC
What contributes to  overall performance? Network Rendering Serialization Memory Usage Database Access
Remoting
Application Developers View Remote Communication How it  works Client Application Stub Serialization Client Infrastructure Server Application Facade Deserialisation Server Infrastructure Networking Networking
Remote Communication What can go  wrong
Avoid Protocol Overhead Reduce Interactions Create Data Locality Adjust Interfaces
Database
… looking  inside  Database Access Application Code Connection   Pool Connection Result Set Application SQL TCP/IP Database O/R   Mapping Layer Caching Layer Statement Connection Prepared Statement Prepared Statement . . .
Caching  in the DB Layer Persistence Framework JDBC Layer Database Execution Plan Cache Prepared Statement Cache Cross Session Cache Session Caches Query Cache(s)
Reduce DB Calls Tune Loading Behavior Optimize for caching Define Proper Entities select  …  from  a,b,c select  …  from  b,c,a …  join fetch ….
Web/AJAX
Web and AJAX What can go  wrong Browser Server JavaScript Performance HTML Rendering Many AJAX/HTTP calls High Latency High Datavolume Thread-/ Connectionpools Network Database Access WebService/ Backend Calls Browser Browser
Caching  on the Web Clients Server Cache per Client Server providing Caching Information Proxy Cache for Many Clients Serverside  Data Cache
Reduce Files Use Caching Headers Compress Content Reduce State Date Expires E-Tag .js, css, png, …
Memory
Memory Management What can go  wrong Short Lived Object  in Tenured Space Large Temporary Object Complex Object Model
GC Configuration
Optimize Allocations Reduce Session Size Minimize GC Impact
alois.reitbauer@dynatrace.com  Mail blog.dynatrace.com  Blog AloisReitbauer  Twitter

More Related Content

PPT
W-JAX Performance Workshop - Database Performance
PPTX
.Net Distributed Caching
DOC
Faisal-Resume
PDF
CouchDB Talk JChris NYC
PDF
Introduction to Foxx by our community member Iskandar Soesman @ikandars
PPTX
Web fundamentals
W-JAX Performance Workshop - Database Performance
.Net Distributed Caching
Faisal-Resume
CouchDB Talk JChris NYC
Introduction to Foxx by our community member Iskandar Soesman @ikandars
Web fundamentals

Similar to Low Hanging Fruits In J EE Performance (20)

PPT
Jax Ajax Architecture
PPT
W-JAX Performance Workshop - Web and AJAX
PPTX
Handling Data in Mega Scale Systems
PPTX
Skeuomorphs, Databases, and Mobile Performance
TXT
Datastage details
PPTX
Skeuomorphs, Databases, and Mobile Performance
PPTX
Scale and Throughput @ Clicktale with Akka
PPT
21. Application Development and Administration in DBMS
PPT
Continuity Software 4.3 Detailed Gaps
PPT
Oracle UCM: Web Site Performance Tuning
PPT
Intro to-html-backbone
PPTX
01 - Web Programming Intro.pptx
PPT
Krug Fat Client
PDF
Decoupled cms sunshinephp 2014
PDF
Skalowalna architektura na przykładzie soccerway.com
PPT
High Performance Jdbc
DOCX
Framework 4
PPTX
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
PPT
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
PPT
Hadoop and Voldemort @ LinkedIn
Jax Ajax Architecture
W-JAX Performance Workshop - Web and AJAX
Handling Data in Mega Scale Systems
Skeuomorphs, Databases, and Mobile Performance
Datastage details
Skeuomorphs, Databases, and Mobile Performance
Scale and Throughput @ Clicktale with Akka
21. Application Development and Administration in DBMS
Continuity Software 4.3 Detailed Gaps
Oracle UCM: Web Site Performance Tuning
Intro to-html-backbone
01 - Web Programming Intro.pptx
Krug Fat Client
Decoupled cms sunshinephp 2014
Skalowalna architektura na przykładzie soccerway.com
High Performance Jdbc
Framework 4
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Hadoop and Voldemort @ LinkedIn
Ad

More from Alois Reitbauer (20)

PPTX
Monitoring large scale Docker production environments
PPTX
Can a monitoring tool pass the turing test
PPTX
Monitoring Docker Application in Production
PPTX
The definition of normal - An introduction and guide to anomaly detection.
PPTX
Monitoring without alerts
PPTX
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
PPTX
Microservice, Micro Deployments and DevOps
PPTX
The Dark Art of Production Alerting
PPTX
W3C Web Performance - A detailed overview
PPTX
The Dark of Building an Production Incident Syste
PPTX
The High Performance Web Application Lifecycle
PPTX
Monitoring and Managing Java Applications
PPTX
What it means to be fast in your industry
PPTX
Measuring User Experience in the Browser
PPTX
Measuring User Experience
PPTX
Web Performance Optimzation
PPTX
What it means to deliver exceptional performance
PPTX
Why you have less than a second to deliver exceptional performance
PPTX
Measuring Performance in the Browser
PPTX
Performance Forensics - Understanding Application Performance
Monitoring large scale Docker production environments
Can a monitoring tool pass the turing test
Monitoring Docker Application in Production
The definition of normal - An introduction and guide to anomaly detection.
Monitoring without alerts
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
Microservice, Micro Deployments and DevOps
The Dark Art of Production Alerting
W3C Web Performance - A detailed overview
The Dark of Building an Production Incident Syste
The High Performance Web Application Lifecycle
Monitoring and Managing Java Applications
What it means to be fast in your industry
Measuring User Experience in the Browser
Measuring User Experience
Web Performance Optimzation
What it means to deliver exceptional performance
Why you have less than a second to deliver exceptional performance
Measuring Performance in the Browser
Performance Forensics - Understanding Application Performance
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
PDF
Modernizing your data center with Dell and AMD
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.
Modernizing your data center with Dell and AMD
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
CIFDAQ's Market Insight: SEC Turns Pro Crypto
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx

Low Hanging Fruits In J EE Performance

  • 1. Low Hanging Fruits in Optimizing J EE Performance Alois Reitbauer, dyna Trace Software
  • 2. 1 n . . . Servlet Threads CPU 1 n . . . DB Conn. What‘s inside ?
  • 3. a sample application architecture … … and common performance pitfalls O/R Access Rendering State Handling Latency Data Volume Comm. Behavior JavaScript Data Volume Comm. Behavior Memory and GC Memory and GC
  • 4. What contributes to overall performance? Network Rendering Serialization Memory Usage Database Access
  • 6. Application Developers View Remote Communication How it works Client Application Stub Serialization Client Infrastructure Server Application Facade Deserialisation Server Infrastructure Networking Networking
  • 8. Avoid Protocol Overhead Reduce Interactions Create Data Locality Adjust Interfaces
  • 10. … looking inside Database Access Application Code Connection Pool Connection Result Set Application SQL TCP/IP Database O/R Mapping Layer Caching Layer Statement Connection Prepared Statement Prepared Statement . . .
  • 11. Caching in the DB Layer Persistence Framework JDBC Layer Database Execution Plan Cache Prepared Statement Cache Cross Session Cache Session Caches Query Cache(s)
  • 12. Reduce DB Calls Tune Loading Behavior Optimize for caching Define Proper Entities select … from a,b,c select … from b,c,a … join fetch ….
  • 14. Web and AJAX What can go wrong Browser Server JavaScript Performance HTML Rendering Many AJAX/HTTP calls High Latency High Datavolume Thread-/ Connectionpools Network Database Access WebService/ Backend Calls Browser Browser
  • 15. Caching on the Web Clients Server Cache per Client Server providing Caching Information Proxy Cache for Many Clients Serverside Data Cache
  • 16. Reduce Files Use Caching Headers Compress Content Reduce State Date Expires E-Tag .js, css, png, …
  • 18. Memory Management What can go wrong Short Lived Object in Tenured Space Large Temporary Object Complex Object Model
  • 20. Optimize Allocations Reduce Session Size Minimize GC Impact
  • 21. alois.reitbauer@dynatrace.com Mail blog.dynatrace.com Blog AloisReitbauer Twitter