Upload
melodie-mckay
View
33
Download
5
Embed Size (px)
DESCRIPTION
Performance, Profiling, & Optimization Tools for Enterprise Java Applications. S. Ray Holder Michael J. Donahoo. Project Focus. Enhance performance Identify problems Load and stress test Implement/evaluate solutions Improve maintainability Replace custom solutions - PowerPoint PPT Presentation
Citation preview
Performance, Profiling, & Performance, Profiling, & Optimization Tools forOptimization Tools forEnterprise Java ApplicationsEnterprise Java Applications
S. Ray Holder
Michael J. Donahoo
Project FocusProject Focus
Enhance performance– Identify problems– Load and stress test– Implement/evaluate solutions
Improve maintainability– Replace custom solutions– Eliminate boilerplate code
Investigate new frameworks
Contest Management System 2.0Contest Management System 2.0
ICPCGeneralized contest managementProduction systemModular designOpen source technologies
Spring (Middleware), Acegi (Security), Hibernate (ORM), JSF (View), Tomcat (Web), MySQL (DB)
Tools of the TradeTools of the Trade
CPU profiler: JIPMemory profiler: JMX managed beanSQL profiler: ElvyxCustom load/stress testing
Framework MySQL/Hibernate
Object Relational MappingObject Relational Mapping
How do we get our object in to and out of a relational database?
ORM OptimizationsORM Optimizations
Lazy fetch– Object graph– Objects– Collections
Database optimizations– Indexing– Data placement– Schema
Custom queries Caching hints
Entity Security OptimizationEntity Security Optimization
0
500
1000
1500
2000
2500
3000
3500
4000
4500
0 10 20 30 40 50 60 70 80 90 100
Run Number
Tim
e (
ms
)
Cached, with Optimization
No Cache, with Optimization
Original
Lazy Fetching and Secondary Lazy Fetching and Secondary Security OptimizationSecurity Optimization
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
0 20 40 60 80 100 120
Run Number
Tim
e (
ms
)
Without Optimization
With Optimization
Future DirectionsFuture Directions
Security model– Maintenance– Performance
Next generation frameworks– JBoss Seam 2.0– Struts 2
QuestionsQuestions