Performance Testing of Java Enterprise Systems



Similar documents
How To Test For Performance

Performance Analysis of Web based Applications on Single and Multi Core Servers

Copyright 1

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Performance Testing Process A Whitepaper

Bringing Value to the Organization with Performance Testing

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

Holistic Performance Analysis of J2EE Applications

Learning More About Load Testing

Insight into Performance Testing J2EE Applications Sep 2008

How To Test On The Dsms Application

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Open Source and Commercial Performance Testing Tools

Recommendations for Performance Benchmarking

Web Application s Performance Testing

Load and Performance Load Testing. RadView Software October

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Web Application Testing. Web Performance Testing

How To Test A Web Server

McAfee Enterprise Mobility Management Performance and Scalability Guide

Performance Testing and Optimization in Web-Service Based Applications

Bernie Velivis President, Performax Inc

A closer look at HP LoadRunner software

Load Testing and Monitoring Web Applications in a Windows Environment

Best Practices for Web Application Load Testing

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

Mohammed Khan SUMMARY

Performance Testing Process

Performance Testing of a Large Wealth Management Product

Automate performance testing to predict system behaviour and improve application performance. Business white paper

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Business white paper. Load factor: performance testing for Web applications

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice

An introduction to load testing for Web applications. Business white paper

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Fundamentals of LoadRunner 9.0 (2 Days)

Microsoft SharePoint 2010 on HP ProLiant DL380p Gen8 servers

Enterprise Performance Testing. Karuna Karnati and Ajay Kumar. Accenture Delivery Center for Technology in India

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance

Application. Performance Testing

SOLUTION BRIEF: SLCM R12.8 PERFORMANCE TEST RESULTS JANUARY, Submit and Approval Phase Results

SOFTWARE PERFORMANCE TESTING SERVICE

Performance Testing. What is performance testing? Why is performance testing necessary? Performance Testing Methodology EPM Performance Testing

<Insert Picture Here> Java Application Diagnostic Expert

E-commerce: Load Testing and the Advantages of Open Source Model

Load Testing an Internet Site

Load Testing Tools. Animesh Das

NetIQ Access Manager 4.1

Professional Services

Application Performance Testing Basics

Performance Optimization For Operational Risk Management Application On Azure Platform

Agility Database Scalability Testing

End-to-End Testing of IT Architecture and Applications

Performance Management from black-art to process

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

Application Performance in the Cloud

SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, Load Test Results for Submit and Approval Phases of Request Life Cycle

Strong experience in drafting Test Plan, Test Strategy, Test Estimation, Test Cases, Requirement Matrix, Audit and Test Results documents

Performance Tuning and Optimizing SQL Databases 2016

Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Monitoring IBM Maximo Platform

Essentials of Java Performance Tuning. Dr Heinz Kabutz Kirk Pepperdine Sun Java Champions

Business Application Services Testing

HP OO 10.X - SiteScope Monitoring Templates

Automate performance testing to predict system behavior and improve application performance. White paper

Siebel & Portal Performance Testing and Tuning GCP - IT Performance Practice

Rapid Bottleneck Identification A Better Way to do Load Testing. An Oracle White Paper June 2009

An Oracle White Paper February Rapid Bottleneck Identification - A Better Way to do Load Testing

IBM Tivoli Composite Application Manager for WebSphere

Monitoring applications in multitier environment. Uroš Majcen A New View on Application Management.

Performance Analysis and Capacity Planning Whitepaper

Tool - 1: Health Center

Agile Performance Testing

Implementing a Well- Performing and Reliable Portal

Monitoring and Diagnosing Production Applications Using Oracle Application Diagnostics for Java. An Oracle White Paper December 2007

Various Load Testing Tools

Delivering Quality in Software Performance and Scalability Testing

Load Testing Analysis Services Gerhard Brückl

Java VM monitoring and the Health Center API. William Smith

Martin Spier, Expedia & Rex Black, J9

Performance Testing IBM MQSeries* Infrastructures

Resource Monitoring During Performance Testing. Experience Report by Johann du Plessis. Introduction. Planning for Monitoring

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Bellwether metrics for diagnosing

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Running a Workflow on a PowerCenter Grid

Performance Evaluation Approach for Multi-Tier Cloud Applications

Performance And Scalability In Oracle9i And SQL Server 2000


Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Justin Bruns, Performance Test Lead, Fireman's Fund Insurance Robert May, Enterprise Software Tools Administrator Fireman's Fund Insurance

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Transcription:

Performance Testing of Java Enterprise Systems Katerina Antonova, Plamen Koychev Musala Soft Why Performance Testing? Recent studies by leading USA consultancy companies showed that over 80% of large corporations reported cases of performance problems in their systems. Small and medium enterprises lose an average 1% of their annual revenue due to unplanned downtimes. At the same time, user requirements become higher and higher - nearly 50% of them expect the response time of the web systems less than 3 seconds. All this makes the performance critical to the business. Companies are facing serious challenges short time for development, growing complexity of applications and pressure to rapidly deploy in production. Page 1

Today s software industry is characterized by a variety of solutions and technologies. The technologies have an influence in determining the test strategy. Each component is important and everything can cause performance bottleneck - connection between application tiers, actions and impact of external services and components, database structure, business logic implementation, etc. Performance Testing Process Performance testing is consistent and iterative process it can be performed as many times as necessary to confirm that the system meets efficiency, capacity and performance criteria. Performance Testing Tools The selection of appropriate tool is an important aspect of the performance test planning. The key criteria for selection of appropriate tool for today s complex Java Enterprise systems are: Protocols and standards support HTTP/HTTPS for Web applications, SOAP for Web Services, JMS, MQ Monitoring capabilities System Resources, JEE Application Servers, Databases Data correlation automated relation between test data for the dynamic parameters, for example the usage of session_id as unique parameter for all transactions in one business operation. Parameterization and data variation data pools, data tables or other capabilities to generate unique or random data, especially in case of large data volume. Page 2

IDE and scripting language useful IDE and support of industry-known scripting language. Performance Test Tools Architecture Most testing tools have similar architecture. Leading commercial tools: HP LoadRunner IBM Rational Performance Tester Others - RadView WebLoad, Borland SilkPerformer, SmartBear LoadComplete, NRG AppLoader Open source tools: Apache Jmeter Others SmartBear LoadUI, AppPerfect Load Test Test Infrastructure Building and configuration of the target testing system is important element of the test infrastructure preparation. The parameters of the test environment should be the closest possible to the production one. This includes specification and numbers of physical servers (CPU numbers, RAM), network infrastructure (bandwidth and connectivity), realistic volume of test data. There are also other elements, which should be specified and prepared: Page 3

Topology of application servers Product versions Internal or external systems and components emulation As part of the infrastructure there should be prepared enough hardware resources, needed to generate the expected load. The sharing of virtual resources and load balancing may need IP Spoofing/IP Aliasing implementation. There are also identified the required capacity and resources for scripting, test management and test analysis. Key Performance Indicators Effective performance testing requires well defined performance indicators (Service Level Agreements metrics), against which measurements, diagnostic and analysis are performed. Examples for key performance indicators are: Availability (uptime) the system availability to end users at expected load levels Concurrency number of active users at a given time Scalability system capacity at specific concurrency and load levels Тhroughput number of requests at a given time (per minute or per second hits per second, bytes per second) Response time response time of the system for specific operation/transaction from end user perspective Resource utilization CPU utilization, memory use, Disk I/O, Network I/O Page 4

Test Design There are three major aspects when building the performance test design. The first one is identification of the business scenarios business-critical, intensive and heavy transactions. Negative and incomplete transactions should also be considered. The next aspect is preparation of sufficient volume and variety of test data. The third one is definition of the load profile number of virtual users for transaction, expected iteration numbers for a given time, think time (delay/pauses between transactions), pacing time (delay/pauses between iterations), and also users injection profile - big-bang (all users start simultaneously), ramp-up (predefined number of users starting at specified intervals while meeting the target number of active users), ramp down (similar to ramp-up but in users stopping mode). Example test design: Test Scripts One of the practices for scripts development is by recording the user actions using the record features of the test tools. Another is manual scripting by using the supported programming language. Test scripts are customized for: Parameterization and data variation Data correlation Conditional logic Checkpoints The already completed test scripts should be executed with one or more users before being executed on test environment. Page 5

Test Schedules Completed scripts should be organized into test scenarios, which implement test design. This includes setup and configuration of test duration and number of virtual users, user groups, load generators, monitors and statistics. Test Execution and Monitoring During the performance test execution, load is generated and the test infrastructure behavior is monitored in real time key performance indicators and configured monitors and statistics. The most important monitoring parameters are: Transactions hits per second, response time, running users Resource utilization - CPU utilization, Memory use, Disk IO, Network IO Application server - JVM Heap, Thread pools, JDBC connection pools, JMS connection pools Database - SQL execution time, cache hit ration, locks timeouts, deadlocks, escalations Analysis In order to track what happened during the execution and to build complete picture for the system behavior is needed to gather all available information. The results should be correlated by analyzing how the indicators are changed when load is increased. This helps us to evaluate the system scalability. If a problem is identified, a deeper diagnostic should be performed, in order to identify the cause. The results are compared to those from the previous runs, then the changes resulting from the diagnostic and tuning are evaluated. Page 6

Performance Diagnostic There are many techniques for diagnostic. Example for diagnostic techniques for Java Enterprise systems are: - Thread Dump Analysis synchronization problems are detected - Heap Dump Analysis the code which may cause the memory leaks is isolated - DB Execution/Access Plan non-optimized SQL, missing indexes Reporting Leading test tools provide reach possibilities for automated report generation. Report preparation is the last step of the performance test process. Results are reported to and evaluated by all stakeholders. There are provided conclusions about the system performance in order to confirm its readiness for production. Page 7