Performance Testing Percy Pari Salas

Similar documents
Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

How To Test For Performance

Application Performance Testing Basics

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

White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.

Bringing Value to the Organization with Performance Testing

Why Performance Test Outside the Firewall? Exposing What You Have Missed

Recommendations for Performance Benchmarking

SOFTWARE PERFORMANCE TESTING SERVICE

Bernie Velivis President, Performax Inc

Performance Testing of a Large Wealth Management Product

WHAT WE NEED TO START THE PERFORMANCE TESTING?

Successful Factors for Performance Testing Projects. NaveenKumar Namachivayam - Founder - QAInsights

Comparative Study of Load Testing Tools

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

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

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Positioning Performance Testing to Cut Costs of Cloud Computing

Application. Performance Testing

Web Application s Performance Testing

Testing on the other side of the pendulum

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

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

Developing a Load Testing Strategy

Copyright 1

Performance And Scalability In Oracle9i And SQL Server 2000

Performance Testing Process

Making Sense of the Numbers DOs and DON'Ts of Quality Performance Testing

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

How To Test For Elulla

Mohammed Khan SUMMARY

Martin Spier, Expedia & Rex Black, J9

First of all, I would like to talk about the experiences we have made with several proof- of- concepts when comparing different Oracle platform

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

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

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

Cloud Based Application Architectures using Smart Computing

Informatica Data Director Performance

Load and Performance Testing

Performance Testing and Improvement in Agile

Introducing Performance Engineering by means of Tools and Practical Exercises

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

3 Examples of Reliability Testing. Dan Downing, VP Testing Services MENTORA GROUP

Load Testing on Web Application using Automated Testing Tool: Load Complete

Session Topic:Accelerate Enterprise Application Performance with speed, consistency and scalability

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Tools for Testing Software Architectures. Learning Objectives. Context

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Load Testing with JMeter

Tuning Tableau Server for High Performance

Web Performance Testing: Methodologies, Tools and Challenges

Ayurvedic Principles of Siebel Performance

WHAT IS SOFTWARE PERFORMANCE ENGINEERING? By Michael Foster

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

Load/Stress Test Plan

Global Delivery Centre:

How To Test A Web Server

Performance Testing of Java Enterprise Systems

Databases Going Virtual? Identifying the Best Database Servers for Virtualization

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

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

Implementing a Well- Performing and Reliable Portal

Best Practices for Web Application Load Testing

WEBLOGIC ADMINISTRATION

Load Testing Analysis Services Gerhard Brückl

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Performance testing Hadoop based big data analytics solutions

Performance Test Report

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

Business Application Services Testing

Performance Testing Process A Whitepaper

DELL s Oracle Database Advisor

How To Model A System

Web Load Stress Testing

Load Testing and Monitoring Web Applications in a Windows Environment

European Commission. <Project Name> Test Management Plan. Date: 23/10/2008 Version: Authors: Revised by: Approved by: Public: Reference Number:

Capacity Planning. Capacity Planning Process

SOA Solutions & Middleware Testing: White Paper

Performance Tuning for Oracle WebCenter Content 11g: Strategies & Tactics CHRIS ROTHWELL & PAUL HEUPEL FISHBOWL SOLUTIONS, INC.

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

NetIQ Access Manager 4.1

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies

Performing Load Capacity Test for Web Applications

Distributed applications monitoring at system and network level

Tutorial: Load Testing with CLIF

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

G-CLOUD 7 P E R F O R M A N C E T E S T I N G S E R V I C E C O M P A N Y D E T A I L S ABOUT MASTEK

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

Business white paper. HP Process Automation. Version 7.0. Server performance

Beat the Beast - Java Performance Problem Tracking. with you. Java One - San Francisco, , Miroslaw Bartecki

Agile Performance Testing

Load/Performance Test Plan

AgencyPortal v5.1 Performance Test Summary Table of Contents

Coding Serbia. Systematic Load Testing of Web Applications.

Testing & Assuring Mobile End User Experience Before Production. Neotys

Performance Modeling for Web based J2EE and.net Applications

Performance Testing of Big Data Applications

Performance Testing and Optimization in Web-Service Based Applications

Infrastructure. Oren Barshishat IT Support Manager. Adi Finkels Customer Support Manager. Sparta Systems

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Performance testing of distributed computational resources in the software development phase

Transcription:

Performance Testing Percy Pari Salas Presented by : Percy Pari Salas

Agenda What is performance testing? Types of performance testing What does performance testing measure? Where does performance testing measure? Performance testing methodology (Common) Causes of performance problems

What is performance testing? Testing designed and executed to determine how a system performs in terms of responsiveness and stability under a particular workload ref. 2 Investigate, measure, validate or verify: Scalability Reliability Resource usage

Types of Performance Testing Load testing Conducted to understand the behaviour of the system under a specific expected load and identify performance bottlenecks Stress testing Used to understand the upper limits of capacity within the system. Identifies the breaking point of an application Soak (endurance) testing Determine if the system can sustain the continuous expected load (looks for memory leaks and performance degradation) Spike testing Done by suddenly increasing the number of or load generated by, users by a very large amount Configuration testing Executed in order to determine the effects of configuration changes in the performance of the system (does not measure how good or bad is the performance itself)

What does performance testing measure? It depends on the type of test Concurrency/throughput number of concurrent users or number of transactions Server response time most commonly used. Measures time taken for one node of the system to answer the request of another Render response time Difficult to deal with. Most load testing tools do not support measurements of what happens inside a client node. Use functional test scripts to perform measurements. Functional testing under load Looking for functional defects that only reveal themselves under load Disaster recovery under load

Common Performance Problems Long loading times Poor response times Poor scalability Bottlenecking (degradation of system performance under certain conditions) CPU utilisation Memory utilisation Network utilisation Disk usage Server(s) configuration (e.g. maximum number of connections)

Where does performance testing measure? It depends on what the objective of the test is What do we want to measure? Some metrics need to be done at the client side. Some at the server (node) side. Performance Testing Tool Performance Client Testing Tool Server

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Identify what (in a general sense) needs to be tested. Identify (and understand) the production environment, the test environment and their differences Identify available testing tools Decide whether to use internal or external resources

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Identify goals and constraints Throughput, response times and resource allocation Identify other success criteria (e.g. identify the best configuration of the server among several alternatives)

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Identify key scenarios, users and their variability (e.g. 10% of the users visit the website as guests, 50% log in as registered customers to view account balance, 40% perform another operation) Where possible this needs to be mined from production data Define test data Establish metrics to be collected (what and where) Model the system to fulfil your requirements

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Make sure network access is adequate Firewall, proxies (could lock user account, interfere in response time measurements) Identify external elements that need to be stubbed or mocked There are several external providers that will not be happy to be flooded with requests Worst, you can get down someone s environment If using data such as email addresses make sure to know what the system is going to do with that

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Write performance test scripts (record and customise scenarios) Make sure external elements (needed) are stubbed or mocked Sometimes there are external elements that can just be ignored make sure you do so

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Validate the tests, test data, and results collection (dry run of test scripts) Run and monitor If the test tool is not capable of taking metrics on the server side, make sure you have alternative methods Nagios, nmon analyser Sometimes a single run is not advisable. Three executions is a standard practice

Methodology Identify test environment Determine acceptance criteria Plan and Design Tests Configure Test Environment Implement tests Execution Results analysis, tune and retest Analyse, consolidate and share results data Work together with System s Architects to define meaning of the results

Causes of performance problems Functional defects that appear only under load Memory Leaks Servers not capable of handling all required processing Limitations on the network bandwidth

What does a mem leak look like Look for up trends in Memory Usage and/or Handle Counts Keep in mind that peaks can be normal as long as there is a pattern that bring them down. Java (and most Web Servers) will run Garbage Collection every hour or half an hour. Make sure you run your load enough time to identify the pattern. TIP: When targeting to reveal memory leaks focus on error handling scenarios.

How to interpret Server load

How to calculate load To measure traffic is important especially if your load injector is on a different network segment. Do not exceed the maximum bandwidth of your network.

FrontEnd Performance Testing Focus on user perceived performance (as opposed to server performance and resource utilisation) Rendering times Loading times / network timing Load injection used to simulate real usage scenarios No one tool performs load injection and measures performance at the user level JMeter combined with Dynatrace Ajax Edition (Compuware) Also use developer tools embedded in Chrome/Firefox

Dynatrace report

Questions Can performance testing disregard functional verification? Degradation of performance is lineal so we can easily predict results of high loads using low loads, right? How do you measure page response times traditionally? Does it match what the user experiences? now your questions!!!

References 1. Oracle Jrockit Mission Control Manual 2. Wikipedia http://en.wikipedia.org/wiki/software_performance_testing 3. http://motevich.blogspot.com 4. (some experience)