1 / 24

Open Source Performance Monitoring Tools, Tips and Tricks for Java

Open Source Performance Monitoring Tools, Tips and Tricks for Java. Matt Secoske Consultant - Bass & Associates http://www.bass-inc.com email: matt@secosoft.net. Planning Process Tools Tips, Tricks. Agenda. Where does performance matter?. ... where your business requires it.

nirav
Download Presentation

Open Source Performance Monitoring Tools, Tips and Tricks for Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Source Performance Monitoring Tools, Tips and Tricks for Java Matt Secoske Consultant - Bass & Associates http://www.bass-inc.com email: matt@secosoft.net

  2. Planning Process Tools Tips, Tricks Agenda

  3. Where does performance matter?

  4. ... where your business requires it.

  5. Why don't we treat this like a test case?

  6. Determine your performance goals Create testing scenarios Determine monitoring/profiling needs Integrate into development process - continuous performance testing? Integrate into production environment Plan for Performance

  7. Hardware (web, app, db servers)- CPU- Memory- Cache Hits/Misses- Disk/Network speed Java Specific- GC- Application specific metrics What to monitor

  8. Load Testing / Driving Logging / Log Analysis Contained Profiling (Profiler wraps Application) External Profiling (JVMPI) java.lang.instrumentation Profiling Tools

  9. Decorates existing JUnit tests Great for running benchmarks against a particular test case (or cases) while refactoring. Not so great as an over-all monitoring solution JUnitPerf

  10. Clusterable performance testing Stress, Load, Capacity and Functional Testing HTTP, Web Services, RPC, JMS, JUnit, Proxy for recording traffic (real users) Scriptable in Jython The Grinder

  11. Load Testing – Apache JMeter

  12. Easy Common (Web server logs) Affects environment (file I/O) Affects code Generally solved by N.I.H. code Accuracy Log files / Analysis

  13. Log4J or other logging tool+ Aspects= simple, transparent, targeted Logging Tools

  14. Handcarved (AspectJ, AspectWerkz) Java Interactive Profiler GlassBox Inspector Aspect-based Logging Tools –

  15. GlassBox Inspector

  16. Sun's new JVM profiling tool Part of NetBeans Profiler extension Local or Remote Profiling Limited JVM support (mainly 5.0+) JFluid / NetBeans Profiler

  17. NetBeans Profiler

  18. Test and Performance Tools Platform Local or remote profiling Requires JVM agent for remote Eclipse TPTP

  19. Eclipse TPTP

  20. Treat performance as a test case red bar – green bar – refactor Real-world data + Real-world usage patterns = accurate benchmarks Put in just enough metrics to get your performance measurements Performance Test != Production Keep some monitoring in production Tips, Tricks

  21. Performance Monitoring, like most things in software development, is an iterative process. Initial setup will take longer than expected. Its worth it. “Premature optimization is the root of all evil” - Hoare, Knuth Know when and what to optimize – comes from experience and profiling Make performance a part of your development process Final Thoughts

  22. JMeter: http://jakarta.apache.org/jmeter The Grinder: http://grinder.sf.net JUnitPerf: http://clarkware.com/software/JUnitPerf.html Log4J: http://logging.apache.org/log4j/docs/ GlassBox Inspector: https://glassbox-inspector.dev.java.net/ Java Interactive Profiler: http://jiprof.sourceforge.net/ NetBeans Profiler: http://www.netbeans.org/products/profiler/index.html Eclipse TPTP: http://www.eclipse.org/tptp/ Links - Tools

  23. “Add Object Cache Monitoring using JMX and Aspects” - Srini Penchikala http://www.devx.com/Java/Article/29526 “Build your own profiling tool” - Andrew Wilcox http://www-128.ibm.com/developerworks/java/library/j-jip/?ca=dgr-lnxw01JavaProfiling “Performance monitoring with AspectJ, Part 1” - Ron Bodkin http://www-128.ibm.com/developerworks/java/library/j-aopwork10/ “Continuous Performance Testing with JUnitPerf” - Mike Clark http://www.javapronews.com/javapronews-47-20030721ContinuousPerformanceTestingwithJUnitPerf.html Links - Articles

More Related