Performance Monitoring and Visualization of Large-Sized and Multi- Threaded Applications with the Pajé Framework
|
|
|
- Whitney Johnston
- 10 years ago
- Views:
Transcription
1 Performance Monitoring and Visualization of Large-Sized and Multi- Threaded Applications with the Pajé Framework Mehdi Kessis France Télécom R&D Jean-Marc Vincent Laboratoire ID-IMAG Abstract Performance is a critical issue in the context of massively parallel programs. In practice, it is almost impossible to observe and understand the behavior of such programs without the assistance of automated tools which offer the program developer insights into the execution behavior of complex applications. Most of these tools are based on event-based and tracing techniques. As the size of the parallel system grows, it generates a huge size of events. Visualizing and animating gathered traces often produce a complex and non understandable diagrams and displays. Recently, the Pajé visualization frameworks have been developed in our laboratory ID (Informatique et Distribution). This framework provides interactive and scalable behavioral visualizations of parallel and distributed applications. This papers presents an empirical performance monitoring and visualization study with two large scale applications (JonAS ( LOC1) and Jboss ( LOC)). We have developed an event-based tracing framework for large scale applications monitoring. We use Pajé framework to observe and visualize a large amount of harvested events. 1. Introduction Performance monitoring is a hot topic in the current massively parallel and distributed programs. To understand complex applications or network behavior we need automated tools for instrumentation, tracing, visualization, analysis, etc. Such tools offer the developer and the network administrator insights into the execution behavior of the system (program or network). Most of these tools are based on an event-based tracing technique [12]. Events are intercepted during the application runtime of the monitoring activity. Then, they are stored in 1 LOC: Lignes Of Code log files called traces files. As the size of the parallel system grows, the amount of events data becomes huge and difficult to interpret textually. The visualization of these events can be an efficient way to rapidly identify performance problems. The role of visualization tools is to animate these traces. Analysis of traces is generally done off line, through monitoring and visualization tools of multithreaded applications [2, 3, 4, 5, 10]. One of the major challenges for these tools is the visualization scalability [7, 9]. In fact, most of performance monitoring produces non understandable diagrams when the number of observed events grows. Typically, such results are obtained when we monitor large scale systems (applications, networks, clusters, etc.) Recently, the Pajé [1] visualization framework has been developed in our laboratory ID (Informatique & Distribution-IMG). This framework provides an interactive and scalable behavioral visualization of parallel and distributed applications, helping to capture the dynamics of their executions. Pajé was initially designed to ease performance debugging of MPI parallel programs by visualizing their executions. The aim of this paper is to present the results of our experiments in performance monitoring of largesized distributed applications. To evaluate our visualization tool, we test two real world applications servers; JOnAS 2 and JBoss 3 J2EE servers. During our experiments, we have used the Pajé framework to visualize the behavior of these programs. We focus on three main aspects of multithreaded systems; (i) Thread's activity and state, (ii) Locks and semaphores states and (iii) Garbage Collector's (also known as the GC) activity. The paper is organized as follows. Section 2 presents Pajé visualization framework. Section 3 outlines the global architecture of our performance
2 monitoring infrastructure. Finally, section 4 presents and discusses the results of our monitoring use cases. 2. The Pajé visualization framework The Pajé framework is [1] trace-based visualization tool. It takes as input trace files of timestamped events and produces scalable visualizations of these traces. Figure 1 shows an example of visualization with Pajé. Location axis t Monitor waiting Monitor blocked monitors Threads Monitor Fig 1 Multi-dimension diagram of Pajé Time axis Thread running Thread blocked Thread-monitor communication Typically, a Pajé visualization is a multidimensional diagram (time and space) in which the horizontal axis represents time while threads are displayed along the vertical axis. Threads are grouped by JVM. But can also be grouped by machine or application. One of the particularities of Pajé diagrams consists on combining the representation of the states and the representation of communications of each thread [7]. Communications events are presented by methods calls triangles, links symbolize interaction between threads. The states of threads are displayed by colored rectangles. Colors are used to indicate the activity of a thread. Another interesting feature supported by Pajé is threads and monitors (also called semaphore and locks) visualization. Each monitor is associated with the threads that locks and unlocks it. The states of monitors are represented like the states of thread. Further, Pajé is particularly interactive. Moving the mouse pointer over the representation of a blocked thread highlights the corresponding monitor that will unblock it. Similarly, all threads blocked in a semaphore are highlighted when the pointer is moved over the corresponding state of the semaphore. Thus, the administrator or the tester can navigate through these displays to understand the behavior of a multithreaded program and analyze causality between events. Progress of the visualization is entirely driven by user-controlled time displacements: at any time during a simulation, it is possible to move forward or backward in time. In addition, it is possible to programmers using the tool to define what they wish to visualize and how this should be represented (masking, group, expand, getinformations, getstatistics, etc.) 3. The Monitoring infrastructure Pajé is a visualization framework. In order to visualize traces we need to generate them. Traditionally, observing and monitoring systems require instrumenting them. In this section our instrumentation approach is introduced. Instrumentation can be done at different levels (OS, middleware, JVM, application, etc.). In this study, we have chosen to place our probe at the JVM level. So, we developed a C++ instrumentation agent based on JVMPI [13] technology. JVMPI is a native JAVA library that provides some facilities to observe events occurring inside the JVM. During runtime, a JVMPI agent receives events fired by the JVM. It decides whether to intercept them or not. The figure 2 illustrates the global architecture of our monitoring infrastructure. Traces visualization Traces data base Post-processing (filtering, merging traces, etc.) JVM instrumentation and events gathering Fig 2 Global performance monitoring architecture A computation overhead results of intercepting events. In order to minimize this perturbation, we limit the number of observed events. We focus only 2
3 on events related to threads, monitors and GC. At runtime, gathered and filtered events are written to disk throw a buffer mechanism periodically flushed to traces files. The results of this information gathering process are global trace files which are postprocessed in order to be treated by higher level tools. The resulting collected traces are then processed in order to get a coherent global trace. Gathered traces are post-processed by higher level tools. First, traces are merged. Then they are filtered. After, dependencies between events and monitored objects and threads can be correlated. Final global traces are stored in traces database and then can be visualized by Pajé. 4. Performance Monitoring visualization experiments and In the next sub-section we focus on performance monitoring of JOnAS and JBoss. We studied several scenarios: initialization scenario (starting J2EE services), src-scenario (deploying a web application), clusterdemo scenario (running several clients that send several queries to JOnAS). Following to these scenarios, we observe the thread activity and the GC activity. 4.1 Performance monitoring of large scale applications To evaluate Pajé scalability when dealing with large scale systems we test tow real industrial large scale applications; JOnAS and JBoss J2EE servers. Generally, J2EE servers are used to deploy and host web applications. They offer different services (naming service, persistence service, EJB service, Web service, etc.) to the applications they host. These servers are generally deployed in very critical contexts (e-business, telecommunication, egovernment, etc.). Also, when deployed, they are, usually, solicited by thousands to hundreds of users. Improving these applications performance is very critical issue in this context. However, it is complex for two reasons; (a) these programs are very largesized applications (JOnAS more than LOC and JBoss more than LOC) and (b) they are composed of hundreds of threads monitors. 4.2 Thread Monitoring The first scenario that we evaluate is the JonAS initialization scenario which consists on starting JOnAS services (see figure 4). These tow illustrations show the visualizations that we obtained with Pajé. On the Top of the two figures we visualize the monitor's activity. White bleu rectangles show an active state of the monitor. While the pink rectangles show a blocked state of the monitor. Black lines represent the interaction between treads and monitors. We can analyze and visualize at every time which thread had blocked a resource. When moving the mouse pointer over the representation of a blocked thread state highlights the corresponding monitor or thread state. Besides, Pajé provides the possibility to inspect the displayed objects or to relate a given visualization to the source code. So doing, we can find immediately the related code to an identified bottleneck. Following our analysis, of the visualizations we obtained, we noticed that there is contention region in the JonAS start initialization period. That means, there is a massive interaction between threads and monitors. Such behavior may slow down JonAS performance when deployed on clusters or when it runs large web applications. To analyze this phenomenon, we used Pajé Zooming functionalities. As Fig 3 illustrates, we can zoom in the contention region and visualize the evolution of the thread's states. Zooming functionally permits us to identify the thread's state references. As we notice, the zooming functionality permits to better observe the behavior of complex systems. Threads and monitors become navigable. We can easily identify the concerned code related to synchronization bottleneck. Step3 Step2 Step1 Fig 3: Zooming on the contention region 3
4 Contention region Monitors GC thread DataBase DataBase Servelet engine Threads Servelet engine Thread is running Thread is waiting Thread is blocked Monitor is blocked Monitor is free Interaction thread-monitor Fig 4 Jonas and Jboss initialization scenario 4.3 Cluster-Demo example thread visualization This scenario consists on simulating the deployment of JOnAS on a cluster and testing it with n Clients running m loops of tasks. Figure 5 shows monitors and threads interaction during Cluster-Demo scenario. As we can notice, with large scale applications and with a high number of threads, the visualization become non-understandable. Navigation and zooming features of Pajé permit us to better observe and understand thread scheduling and to identify bottlenecks. Monitors activity Contention region Threads activity Fig 5: Threads visualization with 100 JOnAS clients performing 100 loops 4.4 GC activity visualization One of the most frequent performance problems in java application is memory management. The Garbage collector (also known as GC) is a form of 4
5 automatic memory management inside the Java virtual machine. It attempts to reclaim garbage, or memory used by objects that will never be accessed again by the application. The GC is known to be very intensive CPU consuming. Besides when it starts, it blocks all threads executions and slows down application's performance. The aim of this sub-section is to observe the real effect of the GC Following the visualization of the obtained traces of the GC activity during JOnAS and JBoss initialization we have obtained Fig 6 and Fig 7. First, we notice that the garbage collector's activity of JOnAS is very intensive at the starting time (Fig 7). This activity tends to stabilize after the starting. Whereas, JBoss server requires less activation of the GC when starting its services. A massive activation of the GC may cause a performance degradation of the program. GC thread is waiting GC thread is running Fig 6 JBoss GC thread during server initialization Fig 7 JOnAS GC thread during server initialization Comparing the GC activity of GC for JOnAS and JBoss J2EE server to JBoss server come to fact that JOnAS at the starting time requires a massive activation of the GC. These results lead JOnAS team to improve JOnAS server performance by reducing the number of the loaded objects at starting time. Finally we are able to propose GC strategies dependent on the application behavior. Also, some corrections has been done to optimize the interaction with the specific Java Sun Hotspot JVM's garbage collector 5. Results and discussion During our experiments we observe some traces composed by 2000 up to events. The overhead caused by JVMPI instrumentation varies between 10, 3% and 92, 17%. We notice that JVMPI activation slows down radically the program execution. The table.1 shows that during the starting scenario of JOnAS our JVMPI agent causes a high computation overhead. Improving the GC activity and the thread's lock (and unlock) policy will reduce this overhead by reducing the number of traced methods. Although, the overhead caused by the JVMPI agent was high, we identified very critical bottlenecks. In future work, we plan to investigate JVMTI 4 profiling technology. We hope that replacing our JVMPI agent with a JVMTI agent will reduce the instrumentation overhead. Besides Table 1 instrumentation overhead 6. Related works Total events Total runtime (with out instrumentation) (seconds) Several visualization tools for concurrent programs were proposed in the 90's [3, 10, 11]. Many visualization tools are not interactive, only giving the possibility to adjust the simulation speed; it is not possible to interact with the displayed objects or to move backwards in time. In addition, to our knowledge there is no performance tool that proposes visualizations for communications and synchronizations. Previous studies concerned TomCat servlet engine performances with Paraver [6]. This tool does not propose neither zooming nor navigation capabilities. Recently, several studies were concentrated on object-oriented concurrent programs. Several performance UML 5 based visualization display tools [4,5] were proposed. The Pajé visualization framework can be used in this context. However, we do not offer any UML-based diagrams. Attali et al. [8] proposed the Jitan a visualization framework for object oriented programs. However, Jitan is a simple research prototype it can not test 4 Total runtime (with instrumentation (seconds) Initialisation scenario ,449 27,768 92,17% Overhead Src-scenario ,57 32,778 18,89% Stopping scenario ,892 1,995 10,3% ClusterDemoScenario: 10 clients and 10 loops ClusterDemoScenario: 10 clients and 100 loop , ,7% , ,92 17,80% 5 5
6 more than 100 objects. Whereas, with Pajé we can debug very large and real industrial applications. The Paradyn performance debugging environment [11] was designed to identify performance errors automatically. Pajé does not propose any assistance to identify automatically deadlocks or failures. Another major limitation is that is that it does not support online visualization. 6. Conclusion and future work In this paper, we presented our visualization and performance monitoring of large scale java applications. A performance monitoring infrastructure was proposed, implemented and evaluated. During experiments, we monitored some performance key elements of two application servers. We identified very critical bottlenecks (contention regions, initialization problem, massive GC activation policy, etc.). These results have been used by the JonAS team during to improve its performance. In, the future, we plan to extend Pajé with online monitoring functionalities. Pjaé was used in the context of performance monitoring of parallel programs deployed on clusters. Some ongoing works study its use in the context of network monitoring 8. References [1] J. C. de Kergommeaux, B. de O. Stein "Flexible performance visualization of parallel and distributed applications", Future Generation Computer Systems 19,2003, page [2] W. Pauw, O. Gruber, E. Jensen, R.Konuru, N. Mitchell, G.Sevitsky, J. Vlissides and J. Yang. Jinsight: Visualizing the execution of Java programs. IBM Research Report, February [3] L. De Rose, Y. Zhang and D. A. Reed, SvPablo : A Multi-language performance Analysis system, Lecture Notes in Computer Science, vol. 1469, Sept.1998, pp [4] T. Souder, S. Mancoridis and M. Salah, A Framework for Creating Views of Program Execution, Proceedings of the IEEE International Conference on Software Mainframe (ICSL 01), [5] H. Leroux, C. Mingins and A. Réquilé- Romanczuk, JACOT: A UML-Based Tool for the Run-Time Inspection of Concurrent Java Programs, 2nd International Conference on the Principles and Practices of Programming in Java, Kilkenny City, Irland, [6] D. Carrera, J. Guitart, J. Torres, E. Ayguadé and J. Labarta, An Instrumentation Tool for Threaded Java Application Servers, 13th Jornals de Paralelismo, pp , Spain, Sept [7] M. T. Heath, A. D. Malony, D.T. Rover, "Parallel Performance Visualization: From Practice to Theory", IEEE Parallel & Distributed Technology: Systems & Technology, v.3 n.4, p.44-60, December [8] I. Attali, D. Caromel and M. Russo, Graphical Visualization of Java Objects, Threads, and Locks, IEEE DS Online, Volume 2, N 1, January [9] O. Naím D'Paola C. E. Wu, A. Bolmarcich, M. Snir, D. Wootton, F. Parpia, A. Chan, E. Lusk, and W. Gropp, "Performance Visualization Of Parallel Programs", Proceedings of SC2000: High- Performance Networking and Computing, November [10] M. Heath et J. A. Etheridge, Visualizing the Performances of parallel Programs. IEEE Trans. Sofw.Eng, vol8, n 5, May 1991, pp [11] B. P. Miller, M. D. Callaghan, J. M Cargille, J. K. Hollingsworth, R. B. Irvin, K. L Karavanic, K. Kunchithapadam et T. Newhall, The Paradyn parallel performance measurement tool. Computer vol 28, N 11, Nov [12] S. P. Reiss, M. Renieris, "Generating Java Trace Data", In Proceedings of the ACM 2000 Java Grande, San Francisco, CA, June ACM Press. [13] JavaTM Virtual Machine Profiler Interface (JVMPI), URL: 6
An Instrumentation Tool for Threaded Java Application Servers
XIII JORNADAS DE PARALELISMO LLEIDA, SEPTIEMBRE 2002 1 An Instrumentation Tool for Threaded Java Application Servers David Carrera, Jordi Guitart, Jordi Torres, Eduard Ayguadé and Jesús Labarta Abstract
Instrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
Holistic Performance Analysis of J2EE Applications
Holistic Performance Analysis of J2EE Applications By Madhu Tanikella In order to identify and resolve performance problems of enterprise Java Applications and reduce the time-to-market, performance analysis
JRastro: A Trace Agent for Debugging Multithreaded and Distributed Java Programs
JRastro: A Trace Agent for Debugging Multithreaded and Distributed Java Programs Gabriela Jacques da Silva 1, Lucas Mello Schnorr 1, Benhur de Oliveira Stein 1 1 Laboratório de Sistemas de Computação Universidade
Visualizing the Execution of Java Programs
Visualizing the Execution of Java Programs Wim De Pauw, Erik Jensen, Nick Mitchell, Gary Sevitsky, John Vlissides, Jeaha Yang IBM T.J. Watson Research Center 30 Saw Mill River Road, Route 9A Hawthorne,
Monitoring Java enviroment / applications
Monitoring Java enviroment / applications Uroš Majcen [email protected] Java is Everywhere You Can Expect More. Java in Mars Rover With the help of Java Technology, and the Jet Propulsion Laboratory (JPL),
Software Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.
Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the
A Thread Monitoring System for Multithreaded Java Programs
A Thread Monitoring System for Multithreaded Java Programs Sewon Moon and Byeong-Mo Chang Department of Computer Science Sookmyung Women s University, Seoul 140-742, Korea [email protected], [email protected]
Introducing Performance Engineering by means of Tools and Practical Exercises
Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School
A Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You [email protected] ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
Chapter 18: Database System Architectures. Centralized Systems
Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and
Java Performance Tuning
Summer 08 Java Performance Tuning Michael Finocchiaro This white paper presents the basics of Java Performance Tuning for large Application Servers. h t t p : / / m f i n o c c h i a r o. w o r d p r e
<Insert Picture Here> Java Application Diagnostic Expert
Java Application Diagnostic Expert Agenda 1. Enterprise Manager 2. Challenges 3. Java Application Diagnostics Expert (JADE) 4. Feature-Benefit Summary 5. Features Overview Diagnostic
Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures
Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do
Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer
Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application
Understanding the Performance of the Java Operating System JX using Visualization Techniques
Understanding the Performance of the Java Operating System JX using Visualization Techniques Michael Golm, Christian Wawersich, Jörg Baumann, Meik Felser, Jürgen Kleinöder Dept. of Computer Science University
Profiling and Testing with Test and Performance Tools Platform (TPTP)
Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada [email protected]
Scalable Run-Time Correlation Engine for Monitoring in a Cloud Computing Environment
Scalable Run-Time Correlation Engine for Monitoring in a Cloud Computing Environment Miao Wang Performance Engineering Lab University College Dublin Ireland [email protected] John Murphy Performance
How To Visualize Performance Data In A Computer Program
Performance Visualization Tools 1 Performance Visualization Tools Lecture Outline : Following Topics will be discussed Characteristics of Performance Visualization technique Commercial and Public Domain
IBM Tivoli Composite Application Manager for WebSphere
Meet the challenges of managing composite applications IBM Tivoli Composite Application Manager for WebSphere Highlights Simplify management throughout the life cycle of complex IBM WebSphere-based J2EE
Converting Java EE Applications into OSGi Applications
Converting Java EE Applications into OSGi Applications Author: Nichole Stewart Date: Jan 27, 2011 2010 IBM Corporation THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead
An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...
SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment
Managing SOA Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this unit, you should be able to: Explain
Profiling and Tracing in Linux
Profiling and Tracing in Linux Sameer Shende Department of Computer and Information Science University of Oregon, Eugene, OR, USA [email protected] Abstract Profiling and tracing tools can help make
25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
Practical Performance Understanding the Performance of Your Application
Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance
Garbage Collection in the Java HotSpot Virtual Machine
http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot
Put a Firewall in Your JVM Securing Java Applications!
Put a Firewall in Your JVM Securing Java Applications! Prateep Bandharangshi" Waratek Director of Client Security Solutions" @prateep" Hussein Badakhchani" Deutsche Bank Ag London Vice President" @husseinb"
Performance Analysis Tools For Parallel Java Applications on Shared-memory Systems
Performance Analysis Tools For Parallel Java Applications on Shared-memory Systems Jordi Guitart, Jordi Torres, Eduard Ayguadé European Center for Parallelism of Barcelona (CEPBA) Computer Architecture
Performance Measurement of Dynamically Compiled Java Executions
Performance Measurement of Dynamically Compiled Java Executions Tia Newhall and Barton P. Miller University of Wisconsin Madison Madison, WI 53706-1685 USA +1 (608) 262-1204 {newhall,bart}@cs.wisc.edu
Trace-Based and Sample-Based Profiling in Rational Application Developer
Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered
Enterprise Manager Performance Tips
Enterprise Manager Performance Tips + The tips below are related to common situations customers experience when their Enterprise Manager(s) are not performing consistent with performance goals. If you
11.1 inspectit. 11.1. inspectit
11.1. inspectit Figure 11.1. Overview on the inspectit components [Siegl and Bouillet 2011] 11.1 inspectit The inspectit monitoring tool (website: http://www.inspectit.eu/) has been developed by NovaTec.
MID-TIER DEPLOYMENT KB
MID-TIER DEPLOYMENT KB Author: BMC Software, Inc. Date: 23 Dec 2011 PAGE 1 OF 16 23/12/2011 Table of Contents 1. Overview 3 2. Sizing guidelines 3 3. Virtual Environment Notes 4 4. Physical Environment
Monitoring Best Practices for COMMERCE
Monitoring Best Practices for COMMERCE OVERVIEW Providing the right level and depth of monitoring is key to ensuring the effective operation of IT systems. This is especially true for ecommerce systems
Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota
Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Michelle Pregler Ball Emerging Markets Account Executive Shahrukh Niazi Sr.System Consultant Java Solutions Quest Background Agenda
Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist
Architecting ColdFusion For Scalability And High Availability Ryan Stewart Platform Evangelist Introduction Architecture & Clustering Options Design an architecture and develop applications that scale
Performance Tools for Parallel Java Environments
Performance Tools for Parallel Java Environments Sameer Shende and Allen D. Malony Department of Computer and Information Science, University of Oregon {sameer,malony}@cs.uoregon.edu http://www.cs.uoregon.edu/research/paracomp/tau
The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a
Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria
Performance Analysis of Web based Applications on Single and Multi Core Servers
Performance Analysis of Web based Applications on Single and Multi Core Servers Gitika Khare, Diptikant Pathy, Alpana Rajan, Alok Jain, Anil Rawat Raja Ramanna Centre for Advanced Technology Department
.NET and J2EE Intro to Software Engineering
.NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies
Learning More About Load Testing
Welcome to this introduction to application performance testing and the LoadRunner load testing solution. This document provides a short overview of LoadRunner s features, and includes the following sections:
Efficient Monitoring and Display of Thread State in Java
Efficient Monitoring and Display of Thread State in Java Steven P. Reiss Department of Computer Science Brown University Providence, RI 02912-1910 401-863-7641, FAX: 401-863-7657 [email protected] Abstract
End-user Tools for Application Performance Analysis Using Hardware Counters
1 End-user Tools for Application Performance Analysis Using Hardware Counters K. London, J. Dongarra, S. Moore, P. Mucci, K. Seymour, T. Spencer Abstract One purpose of the end-user tools described in
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad OpenDemand Systems, Inc. Abstract / Executive Summary As Web applications and services become more complex, it becomes increasingly difficult
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition
Liferay Portal Performance Benchmark Study of Liferay Portal Enterprise Edition Table of Contents Executive Summary... 3 Test Scenarios... 4 Benchmark Configuration and Methodology... 5 Environment Configuration...
Monitoring applications in multitier environment. Uroš Majcen [email protected]. A New View on Application Management. www.quest.
A New View on Application Management www.quest.com/newview Monitoring applications in multitier environment Uroš Majcen [email protected] 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Management Challenges
Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence
Augmented Search for Web Applications New frontier in big log data analysis and application intelligence Business white paper May 2015 Web applications are the most common business applications today.
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM Ashish Patel, Lead Eclipse Committer for ARM, IBM Corporation Oliver E. Cole, President, OC Systems, Inc. The Eclipse Test and Performance Tools
Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist
Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist 2012 Informatica Corporation. No part of this document may be reproduced or transmitted in any
WebSphere Application Server V7: Monitoring the Runtime
Chapter 11 of WebSphere Application Server V7 Administration and Configuration Guide, SG24-7615 WebSphere Application Server V7: Monitoring the Runtime Being able to measure and monitor system interactions
Chronon: A modern alternative to Log Files
Chronon: A modern alternative to Log Files A. The 5 fundamental flows of Log Files Log files, Old School, are a relic from the 1970s, however even today in 2012, IT infrastructure monitoring relies on
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories [email protected] http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING
THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING November 5, 2010 Rohit Kelapure HTTP://WWW.LINKEDIN.COM/IN/ROHITKELAPURE HTTP://TWITTER.COM/RKELA Agenda 2 Application Server component overview Support
Scalability Factors of JMeter In Performance Testing Projects
Scalability Factors of JMeter In Performance Testing Projects Title Scalability Factors for JMeter In Performance Testing Projects Conference STEP-IN Conference Performance Testing 2008, PUNE Author(s)
Oracle JRockit Mission Control Overview
Oracle JRockit Mission Control Overview An Oracle White Paper June 2008 JROCKIT Oracle JRockit Mission Control Overview Oracle JRockit Mission Control Overview...3 Introduction...3 Non-intrusive profiling
Implementing a Well- Performing and Reliable Portal
Implementing a Well- Performing and Reliable Portal Adam Rybicki [email protected] Agenda I. Introduction II. Tools Needed III. Capacity Planning IV. Load Testing V. Automatic Failover VI. Performance
Multi-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT
WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT Faculty Name Experience Course Duration Madhav (Certified Middleware Professional) Certified on
WebSphere Server Administration Course
WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What
Beat the Beast - Java Performance Problem Tracking. with you. Java One - San Francisco, 29.09.2014, Miroslaw Bartecki
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
Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer
Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Java Coding Practices for Improved Application Performance
1 Java Coding Practices for Improved Application Performance Lloyd Hagemo Senior Director Application Infrastructure Management Group Candle Corporation In the beginning, Java became the language of the
HeapStats: Your Dependable Helper for Java Applications, from Development to Operation
: Technologies for Promoting Use of Open Source Software that Contribute to Reducing TCO of IT Platform HeapStats: Your Dependable Helper for Java Applications, from Development to Operation Shinji Takao,
B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant
B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES
2015 ej-technologies GmbH. All rights reserved. JProfiler Manual
2015 ej-technologies GmbH. All rights reserved. JProfiler Manual Index JProfiler help... 8 How to order... 9 A Help topics... 10 A.1 Profiling... 10 A.1.1 Profiling modes... 10 A.1.2 Remote profiling...
Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5
Course Page - Page 1 of 5 WebSphere Application Server 7.0 Administration on Windows BSP-1700 Length: 5 days Price: $ 2,895.00 Course Description This course teaches the basics of the administration and
Centrata IT Management Suite 3.0
Centrata IT Management Suite 3.0 Technical Operating Environment April 9, 2004 Centrata Incorporated Copyright 2004 by Centrata Incorporated All rights reserved. April 9, 2004 Centrata IT Management Suite
Optimizing Performance. Training Division New Delhi
Optimizing Performance Training Division New Delhi Performance tuning : Goals Minimize the response time for each query Maximize the throughput of the entire database server by minimizing network traffic,
Liferay Performance Tuning
Liferay Performance Tuning Tips, tricks, and best practices Michael C. Han Liferay, INC A Survey Why? Considering using Liferay, curious about performance. Currently implementing and thinking ahead. Running
A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS
A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS Abstract T.VENGATTARAMAN * Department of Computer Science, Pondicherry University, Puducherry, India. A.RAMALINGAM Department of MCA, Sri
IBM WebSphere Server Administration
IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications
White Paper How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications July / 2012 Introduction Critical Java business applications have been deployed for some time. However,
Review of Performance Analysis Tools for MPI Parallel Programs
Review of Performance Analysis Tools for MPI Parallel Programs Shirley Moore, David Cronk, Kevin London, and Jack Dongarra Computer Science Department, University of Tennessee Knoxville, TN 37996-3450,
RTI Quick Start Guide for JBoss Operations Network Users
RTI Quick Start Guide for JBoss Operations Network Users This is the RTI Quick Start guide for JBoss Operations Network Users. It will help you get RTI installed and collecting data on your application
Effective Java Programming. efficient software development
Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of
A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu
A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu 1. Introduction The Java virtual machine s heap stores all objects created by a running Java application. Objects are created by
Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services
Cognos8 Deployment Best Practices for Performance/Scalability Barnaby Cole Practice Lead, Technical Services Agenda > Cognos 8 Architecture Overview > Cognos 8 Components > Load Balancing > Deployment
WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE
WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE Contents 1. Pattern Overview... 3 Features 3 Getting started with the Web Application Pattern... 3 Accepting the Web Application Pattern license agreement...
