© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.

Slides:



Advertisements
Similar presentations
5 August Eclipse Foundation - Mike Norman – CEO Scapa® Technologies Eclipse Test Project Lead Eclipse Test & Performance Tools Platform.
Advertisements

Summary XBRL Challenge Objective: Tools that rely on XBRL data, e.g., tool that extracts data for multi-company comparison via desktop application; or.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Module 17 Tracing Access to SQL Server 2008 R2. Module Overview Capturing Activity using SQL Server Profiler Improving Performance with the Database Engine.
JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010.
Compilation Technology Oct. 16, 2006 © 2006 IBM Corporation Software Group Reducing Startup Costs of Java Applications with Shared Relocatable Code Derek.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Content provided under the terms and conditions of the Eclipse Public License Version /12/ Eclipse Foundation - Valentina Popescu.
PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
DEV-13: You've Got a Problem, Here’s How to Find It
WTX Overview.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Winter Retreat Connecting the Dots: Using Runtime Paths for Macro Analysis Mike Chen, Emre Kıcıman, Anthony Accardi, Armando Fox, Eric Brewer
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 14: Troubleshooting Windows Server 2003 Networks.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Understanding and Managing WebSphere V5
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
1 1 Profiling & Optimization David Geldreich (DREAM)
© 2008 IBM Corporation and Intel Corporation; made available under the EPL v1.0 | February, 2008 | Eclipse* TPTP Project Profiling Java applications using.
Copyright © 2007 Quest Software The Changing Role of SQL Server DBA’s Bryan Oliver SQL Server Domain Expert Quest Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Chapter 6– Artifacts of the process
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Testing Tools. Categories of testing tools Black box testing, or functional testing Testing performed via GUI. The tool helps in emulating end-user actions.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
© 2005 by IBM Corporation; made available under the EPL v1.0 | February 28 th 2005 Adopting the Eclipse™ Test and Performance Tools Platform (TPTP) project.
Copyright © IBM Corp., All rights reserved; made available under the EPL v1.0 | March 20, 2008 | Short Talk Standards based systems management: An.
AUTOBUILD Build and Deployment Automation Solution.
Introduction to MDA (Model Driven Architecture) CYT.
SOA-13: Introduction to DataXtend ® Semantic Integrator (DX SI) Abstract data management from the application level using a common data model.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
What’s New in Automated Software Testing and ClearQuest Shmuel Bashan IBM Rational
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Introduction to the Adapter Server Rob Mace June, 2008.
Learningcomputer.com SQL Server 2008 – Profiling and Monitoring Tools.
DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework David Keogh Program Manager Visual Studio Enterprise.
SOA-25: Data Distribution Solutions Using DataXtend ® Semantic Integrator for Sonic ™ ESB Users Jim Barton Solution Architect.
© 2007 IBM Corporation SOA on your terms and our expertise Software WebSphere Process Server and Portal Integration Overview.
PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University.
WebSphere Process Server © 2005 IBM Corporation HPTSSeptember 2005 Cross-Component Problem Determination Based on Logs and Common Base Events Dr. Friedemann.
Tbox is a monitoring solution for all your computer systems Unifies and simplifies management of system surveillance Notifies you in the event of.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Java Monitoring Java monitoring using Glassfish, JMX, Glassbox and JConsole by Greg Heithaus.
Implementing The SOA Reference Model An ESB Developer’s Perspective David Millman Principal Architect 9/8/2008.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Software Architecture in Practice Mandatory project in performance engineering.
A Binary Agent Technology for COTS Software Integrity Anant Agarwal Richard Schooler.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Eclipse™ TPTP 4.6 Release Review Minideck June 1, 2009 Eclipse TPTP PMC &
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
® IBM Software Group © IBM Corporation 應用程式基礎設備虛擬化 — WebSphere Virtual Enterprise Lilian Wang( 王漪萍 ) WebSphere Technical Sales Support IBM Taiwan Software.
© 2013 IBM Corporation IBM Rational Asset Analyzer & Rational Asset Analyzer for System z Rational Asset Analyzer What is new! Leshek Fiedorowicz
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Building Enterprise Applications Using Visual Studio®
Monitoring Windows Server 2012
CIM Modeling for E&U - (Short Version)
DEV-25: You've Got a Problem, Here’s How to Find It
Solution Summary Business Service Management Solution on AIX® 6.1.
Evaluating Transaction System Performance
Mark Quirk Head of Technology Developer & Platform Group
Java Virtual Machine Profiling. Agenda Introduction JVM overview Performance concepts Monitoring Profiling VisualVM demo Tuning Conclusions.
Presentation transcript:

© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group National Research Council Canada Marius Slavescu IBM Rational Automated Software Quality Division IBM Canada

© 2006, National Research Council, Canada © 2006, IBM Corporation 2 Outline Introduction: performance problems in OTS-based systems Iterative process for diagnosing problems Applying the iterative process with Eclipse TPTP Example Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 3 Outline Introduction: performance problems in OTS-based systems –Memory leaks –Inefficient code –Current tools and techniques –OTS-based systems context Iterative process for diagnosing problems Applying the iterative process with Eclipse TPTP Example Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 4 Memory Leaks All applications require to reserve memory –… but sometimes the application doesn’t release memory that is not used anymore Execution environment or runtime responsible for managing memory –C/C++: manual reservations –Java,.NET, most other VMs: runtime responsible of reserving and releasing memory

© 2006, National Research Council, Canada © 2006, IBM Corporation 5 Memory Leaks (2) Diagnostic –Problem noticeable only until there is not more physical memory available Swapping and paging occurs Solution –“Black box” component get the vendor to fix it or change the way the product is use –Open source component Instrument and locate source of the problem

© 2006, National Research Council, Canada © 2006, IBM Corporation 6 Inefficient code Inefficient algorithms: –unnecessary complexity in the algorithm (that can be replaced by less complex versions); Inefficient use of caching: –without caching where possible (e.g., database, network or files), heavy resource access can lead to slow execution; Expensive interactions with other products: –some interactions within the system may be expensive and lead to a High resource utilization, or long latencies (e.g., remote interactions used inappropriately).

© 2006, National Research Council, Canada © 2006, IBM Corporation 7 Current tools and techniques Focused for custom built software If source code is available: –test performance –locate the performance issue in the code –fix the problem and iterate If source code is not available –use the performance troubleshooting section of the manual (if available) –get a product expert to help identifying the cause

© 2006, National Research Council, Canada © 2006, IBM Corporation 8 OTS-based Systems Context Possible sources of the cause –integration code –one or more components Possible actions –change the concerned component(s) configuration –notify the vendor of the bug –replace a product –modify the way the product is used

© 2006, National Research Council, Canada © 2006, IBM Corporation 9 Outline Introduction: performance problems in COTS-based systems Iterative process for diagnosing problems –Objectives –Process –Alternatives Applying the iterative process with Eclipse TPTP Example Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 10 Objectives Currently –Product experts in charge of analyzing logs, finding the cause of the problem Iterative process –Solve a performance problem in a systematic manner

© 2006, National Research Council, Canada © 2006, IBM Corporation 11 Iterative process: 4 steps 1.Data collection: trace files are collected on OTS products; 2.Performance problem reproduction: the problem has to be repeated in order to capture it in the traces; 3.Trace correlation: the trace files collected are correlated to understand the causality of events in the system; 4.Trace analysis: the correlated traces may need further analysis to focus on the relevant information

© 2006, National Research Council, Canada © 2006, IBM Corporation Data Collection Start by the least intrusive method through the different OTS-components Usually tracing end-user response time Subsequent steps: –Get data more focused Possible methods: –Adding instrumentation to the integration code –Enable logging on other products

© 2006, National Research Council, Canada © 2006, IBM Corporation Performance problem reproduction Test system: –Load testing tool generate load –Automated testing framework scenario to reproduce the problem Production system: –wait until the problem reappears

© 2006, National Research Council, Canada © 2006, IBM Corporation Trace correlation Finding the causality of events in the different traces Reconstruct the causality –Traces timestamps –Logs with only time: Correlate by similar time –Logs with time + duration Find events that happened during another one

© 2006, National Research Council, Canada © 2006, IBM Corporation Trace analysis Statistical –Locate in the traces the most significant events –Group the most repeated ones –Calculate where time is spent Visual –Most common method –Graph or UML interaction diagrams Analysis of profiler traces –[CASCON04]: traces are collected of all the interactions between integration code and OTS-products –Find which interactions are the cause of the performance problem

© 2006, National Research Council, Canada © 2006, IBM Corporation 16 Alternatives solutions to the iterative process Online analysis –Enable diagnostic on production system without a cycle JMX –Java Management: interface to query the state of java virtual machines JRockit (BEA JVM) –Integrated diagnosis of memory leaks –Integrated profiler Existing solutions limited to specific types of performance problems Stability concerns on production systems

© 2006, National Research Council, Canada © 2006, IBM Corporation 17 Outline Introduction: performance problems in COTS-based systems Iterative process for diagnosing problems Applying the iterative process with Eclipse TPTP –TPTP Platform Project –Tracing and Profiling Tools Project –Monitoring Tools Project –OTS-based Systems Support Example Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 18 TPTP Platform Project: The Foundation 1)Reference UIs and perspectives –Basic metaphors for interacting with target systems and resources - includes both remote and local systems. –Extensible UI Frameworks and common navigators, viewers, editors, and wizards 2)Standard data models, and assets repository –Information model implementations for test, trace, log and statistical data. –Framework for running rule based queries against data model instances and some simple queries. 3)Common data collection and execution framework –Execution environment that supports deployment, launch, and control of test cases and applications –Data collection and control frameworks and agents. –Communication service which is used by the distributed data collection and control frameworks. Eclipse Reference UIs Execution Framework XMI Assets

© 2006, National Research Council, Canada © 2006, IBM Corporation 19 TPTP Tracing and Profiling Tools Project Frameworks for tracing and profiling tools by extending the TPTP platform. Profiling tools for both single- system and distributed Java applications. A JVMPI monitoring agent that collects trace and profile data. –Collects and analyzes heap and stack information –JVMTI-based monitoring agent. A generic tool kit for probe insertion - can instrument byte code of Java applications.

© 2006, National Research Council, Canada © 2006, IBM Corporation 20 TPTP Monitoring Tools Project Frameworks for building monitoring tools by extending the TPTP platform. Includes tools for monitoring application servers (JBoss, Jonas, and Websphere) and system performance. Collects, analyzes, aggregates, and visualizes data captured in the log and statistical models. Supports Common Base Event (CBE), provides services for mapping of custom log formats to CBE, and regular expression based log filtering. Correlates data across multiple instances of log and statistical models; also across instances of trace and test history models –Enables symptom and pattern analysis.

© 2006, National Research Council, Canada © 2006, IBM Corporation 21 OTS-based systems support

© 2006, National Research Council, Canada © 2006, IBM Corporation 22 Outline Introduction: performance problems in COTS-based systems Iterative process for diagnosing problems Applying the iterative process with Eclipse TPTP Example –Description –Applying the iterative process Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 23 Example

© 2006, National Research Council, Canada © 2006, IBM Corporation 24 Applying the iterative process Iteration 1: –Data collection: Tomcat: default logging doesn’t provide execution time -> customized to include processing time Mysql: Slow query log enabled -> all slow queries recorded Change the default value of 2 seconds –Performance problem reproduction –Trace correlation Use tomcat and MySQL’s timestamps and execution times Custom log extractors + parsers –Trace analysis Visual analysis with UML2 Interaction diagrams  problem located in the database  Solution: modify integration code

© 2006, National Research Council, Canada © 2006, IBM Corporation 25 Applying the iterative process (2) Iteration 2: –Data collection ProbeKit: Instrument the integration code –Performance problem reproduction: same as it 1. –Data correlation: same algorithm as it 1. –Trace analysis: locate the source of the problem inside the integration code

© 2006, National Research Council, Canada © 2006, IBM Corporation 26 Applying the iterative process (3)

© 2006, National Research Council, Canada © 2006, IBM Corporation 27 Outline Introduction: taxonomy of performance problems in COTS-based systems Iterative process for diagnosing problems Applying the iterative process with Eclipse TPTP Example Conclusions

© 2006, National Research Council, Canada © 2006, IBM Corporation 28 Conclusion Diversity of OTS components –new challenge for solving performance problems Existing tools and methods are targeted for custom software –More powerful methods are required Solution: –Solve performance problems in a systematic manner with an iterative process –At each iteration focus on a specific part Availability of generic tools for performance analysis –Automate and customize the analysis Example and TPTP available at