110 likes | 275 Views
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
E N D
Performance, Profiling, & Optimization Tools forEnterprise 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 • Eliminate boilerplate code • Investigate new frameworks
Contest Management System 2.0 • ICPC • Generalized contest management • Production system • Modular design • Open source technologies Spring (Middleware), Acegi (Security), Hibernate (ORM), JSF (View), Tomcat (Web), MySQL (DB)
Tools of the Trade • CPU profiler: JIP • Memory profiler: JMX managed bean • SQL profiler: Elvyx • Custom load/stress testing Framework • MySQL/Hibernate
Object Relational Mapping How do we get our object in to and out of a relational database?
ORM Optimizations • Lazy fetch • Object graph • Objects • Collections • Database optimizations • Indexing • Data placement • Schema • Custom queries • Caching hints
Future Directions • Security model • Maintenance • Performance • Next generation frameworks • JBoss Seam 2.0 • Struts 2