Beat the Beast - Java Performance Problem Tracking with you Java One - San Francisco, 29.09.2014, Miroslaw Bartecki
Agenda What performance problem usually is? 5 steps to track performance problems 5 things you have to avoid at problem tracking Why to use open source? Performance tuning software toolbox for Java Typical architecture of performance monitoring tools 2
Defining performance problem innovating with you
What performance problem usually is? User experienced slowness or unavailability of used IT system At most of cases this have negative impact to business Key metrics to define performance problem Response time Processing speed Availability Scalability Capacity related 4
Performance problems tracking growing with you
5 steps to track performance problems Clearly define the problem Collect evidence of problem Identify impact Measure and collect metrics Measure changes effectiveness Always is good to build Ishikawa Diagram (Cause and Effect Diagram) (Fishbone) 6
5 things you have to avoid at problem tracking Impact online business operations Measure too much Identify wrong problem Track wrong factors Lack of improvement impact analysis Picture source: http://graphics-geek.com/tipsntrix.aspx 7
Open source tools support collaborating with you
Why to use open source? Free open source is good option to performance measure because of You measure what you need Always fits to your need If don t you can easily adapt you have source code Licensing cost is 0 $ Doesn t matter how big your environment is You can fix it if something is working wrong Or hire someone how can Or ask an author to fix Community support is a big power which you can utilize 9
Performance monitoring tools for Java accelerating with you
Java performance tuning software toolbox open source Different tools are good for different purposes Monitoring tools to collect metrics Test and load tools to generate traffic Heap analyzers to track memory leak problems Garbage collector analyzers to track and tune JVM memory management Thread analyzers to track concurrency problems Profilers and code instrumentation tools to track memory leaks, method call stack, thread locks etc. All in one tools are not present in free open source world 11
Typical architecture of performance monitoring tools Performance monitoring tool high level architecture Data collector Metrics database 2 Filters Trace browsing web application Use web application to track issues Config files Data collector server Monitored Java Application Server Monitoring agent 1 Configure tool, filters and scope for collected data Performance issue tracker 12
Enough power to track anything what you need Zorka tool Why? Operates on ASM structure like Java aspects Unbeatable, impressive collected data compression ratio 50 x: Pure text => In flight gzip compression => Dictionaries on top of collected data Power in Query language regular expressions to search and analyze anomalies Build in mechanism to protect monitored system by overload: Queue to store collected data and data drop on queue unload stale Build in integration with well know monitoring systems (eg. nagios, zabbix) 13
Lab plan high level overview Sample JEE application with performance problems will be installed This application will run on JEE application server and utilize DB through EJB entity beans WebLogic application server will be configured to work with zorka agent Zico - data collector will store, process and present received data from agent Zico web application will be used to track 3 prepared performance problems Two with application One with database 14
Newest version of lab instructions can be downloaded from http://zorka.io/files/hol.pdf 15
Contact information Insert contact picture Miroslaw Bartecki Solution Architect miroslaw.bartecki@capgemini.com Capgemini Poland Uniwersytecka 13 40-007 Katowice Poland 16
About Capgemini With almost 140,000 people in over 40 countries, Capgemini is one of the world's foremost providers of consulting, technology and outsourcing services. The Group reported 2013 global revenues of EUR 10.1 billion. Together with its clients, Capgemini creates and delivers business and technology solutions that fit their needs and drive the results they want. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business Experience, and draws on Rightshore, its worldwide delivery model. Learn more about us at www.capgemini.com. www.capgemini.com The information contained in this presentation is proprietary. Copyright 2014 Capgemini. All rights reserved. Rightshore is a trademark belonging to Capgemini.