Performance Testing Why and How
Performance Testing Why and How
Sudheer Parpatakam
2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Agenda
Why Performance Testing? Performance Testing Workflow HP LoadRunner Solutions
Reliability
How stable is the system under a heavy work load?
Regression
Does a new version of the software adversely affect response time?
5
Bottleneck identification
What is the cause of the performance degrading?
GOALS
Defining Goals
Why
A high-priority example is the responsiveness of a Search function. Are we able to get search results within a reasonable time? A second example is the system administrators concern that the Update transaction functions during heaving usage.
In the initial stages, jotting down goals that cant be measured will allow later filtering to create more focused goals.
7
GOALS
GATHERING INFORMATION
business process.
GATHERING DATA
10
ANALYZING SYSTEM
problems.
11
BUSINESS PROCESSES
operations.
Heavy Throughput
Heavy throughput business processes may not be mission-
Dynamic Content
Dynamic content consists of sever requests that are
12
BUSINESS PROCESSES
13
BUSINESS PROCESSES
14
BUSINESS PROCESSES
15
BUSINESS PROCESSES
Peak day
Dynamic content
Light Moderate Moderate Moderate Heavy
Mission critical
High Low Moderate High High
Test
? ? ? ? ?
16
DOCUMENTATION
17
DOCUMENTATION
18
DOCUMENTATION
User-Generated Data
Originates with the user Examples: new unique ID or email address
External Data
Data is unknown before the application is run Examples: confirmation and purchase order numbers
19
CONCURRENCY
Defining Concurrency
Concurrency A set of users acting upon an application in a similar manner at the same time.
Application Level
How many users are active on the system?
Transaction Level
How many users are buying tickets NOW?
20
CONCURRENCY
Application Concurrency
21
CONCURRENCY
22
CONCURRENCY
Transaction Concurrency
How many transactions will need to be run per minute if a load test has to be run for two hours with 5000 users, assuming an average transaction length of five minutes?
Determine how many transactions run per minute:
120 min / 5 min = 24 iterations for each user 5000 users X 24 iterations = 120,000 transactions 120,000 transactions / 120 minutes = 1000 transactions per minute
ANALYZING SYSTEM
24
ANALYZING SYSTEM
25
MONITORING
26
ENVIRONMENT
test.
27
HP LOADRUNNER SOLUTION
28
HP LOADRUNNER SOLUTION
29
LOADRUNNER COMPONENTS
LR CONTROLLER
LR LOAD GENERATORS
LR ANALYSIS
LR Analysis uses the load test results to create graphs and reports that are used to correlate system information, identify bottlenecks, and performance issues.
30
LOADRUNNER COMPONENTS
VuGen
VuGen Virtual User Generator (VuGen) records Vuser scripts that emulate the steps of real users using the application.
31
PROTOCOLS
Supported Protocols
32
MONITORING PERFORMANCE
33
BENCHMARK
Benchmarking Run
To validate that there is enough test hardware available in the test environment, benchmark the business processes against the testing hardware. Take a business process and execute a small number of users against the application.
Validates the functionality of the business process Potentially exposes unknown data dependencies
34
Summary
Performance Testing Objectives Define Goals, Gather Data & Analyze System HP LoadRunner Solution
35
Questions?
36
37