Load Runner: Training
Load Runner: Training
Training
1|Page
Version Summary
2|Page
Contents
What is testing.............................................................................................................................................5
Software testing is divided into two categories:..........................................................................................6
Functional testing:...............................................................................................................................6
Non Functional Testing:.......................................................................................................................7
Performance Testing...................................................................................................................................8
Performance testing can serve different purposes..............................................................................8
Why Do Performance Testing?....................................................................................................................9
Performance Testing Sub-Genres......................................................................................................10
Performance Testing Approach.................................................................................................................12
Terminologies............................................................................................................................................15
Throughput:-......................................................................................................................................15
Latency:-............................................................................................................................................15
Concurrent User:-..............................................................................................................................15
State Full:-..........................................................................................................................................15
State Less:-.........................................................................................................................................15
Cookies:-............................................................................................................................................15
Persistent Cookie:-.............................................................................................................................16
Non Persistent Cookie:-.....................................................................................................................16
Cache:-...............................................................................................................................................16
Paging: -.............................................................................................................................................16
Response Time:-................................................................................................................................17
Dead Lock:-........................................................................................................................................17
Multithreading:-................................................................................................................................18
Process:-............................................................................................................................................18
Client Server Architecture.........................................................................................................................19
Two tier architecture.........................................................................................................................19
3|Page
Three tier architecture.......................................................................................................................20
LOAD RUNNER...........................................................................................................................................22
Components of Load Runner.............................................................................................................23
Lab Setup:..................................................................................................................................................25
Scripting.....................................................................................................................................................26
Recording Option...............................................................................................................................26
Customization of Script......................................................................................................................31
Parameterization...............................................................................................................................31
Correlation:........................................................................................................................................34
Runtime settings................................................................................................................................36
Debug Function.........................................................................................................................................47
lr_set_debug_message.......................................................................................................................51
Controller..................................................................................................................................................53
Controller Functionality.....................................................................................................................53
Types of Scenarios.............................................................................................................................54
Vuser Groups.....................................................................................................................................54
Adding Vuser Group..........................................................................................................................55
Analysis......................................................................................................................................................57
Creating Analysis Session...................................................................................................................57
How to Collate the Results................................................................................................................59
Analysis Graphs.................................................................................................................................59
Adding New Graph............................................................................................................................60
4|Page
What is testing
It is the process used to help identify the correctness, completeness, security,
and quality of developed computer software. Testing is a process of technical
investigation, performed on behalf of stakeholders, that is intended to reveal
quality-related information about the product with respect to the context in which it
is intended to operate. This includes, but is not limited to, the process of executing a
program or application with the intent of finding errors. Quality is not an absolute;
it is value to some person. With that in mind, testing can never completely establish
the correctness of arbitrary computer software; testing furnishes a criticism or
comparison that compares the state and behavior of the product against a
specification. An important point is that software testing should be distinguished
from the separate discipline of Software Quality Assurance (SQA), which
encompasses all business process areas, not just testing.
5|Page
Software testing is divided into two
categories:
Functional Testing
Non Functional Testing
Functional testing:
Functional testing is testing the application against business requirements. It is
done using the functional specifications provided by the client or by using the design
specifications like use cases provided by the design team.
Unit Testing
Smoke testing / Sanity testing
Integration Testing (Top Down, Bottom up Testing)
Interface & Usability Testing
System Testing
Regression Testing
Pre User Acceptance Testing(Alpha & Beta)
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
7|Page
Performance Testing
Performance testing is type of Non functional testing. It is used to determine the
speed or effectiveness of a computer, network, software program or device. This
process can involve quantitative tests done in a lab, such as measuring the response
time or the number of MIPS (millions of instructions per second) at which a system
functions. Performance testing is often done in conjunction with stress testing.
8|Page
Why Do Performance Testing?
At the highest level, performance testing is almost always conducted to address
one or more risks related to expense, opportunity costs, continuity, and/or corporate
reputation. Some more specific reasons for conducting performance testing include:
9|Page
Performance Testing Sub-Genres
Load Testing
Load testing is the simplest form of performance testing. A load test is usually
conducted to understand the behavior of the application under a specific expected load.
This load can be the expected concurrent number of users on the application
performing a specific number of transactions within the set duration. This test will give
out the response times of all the important business critical transactions. If the database,
application server, etc. are also monitored, then this simple test can itself point towards
any bottlenecks in the application software.
Stress Testing
Stress testing is normally used to understand the upper limits of capacity within
the application landscape. This kind of test is done to determine the application's
robustness in terms of extreme load and helps application administrators to determine
if the application will perform sufficiently if the current load goes well above the
expected maximum.
Spike Testing
Spike testing, as the name suggests is done by spiking the number of users and
understanding the behavior of the application; whether performance will suffer, the
application will fail, or it will be able to handle dramatic changes in load.
Configuration Testing
Configuration testing is another variation on traditional performance testing.
Rather than testing for performance from the perspective of load you are testing the
effects of configuration changes in the application landscape on application
performance and behavior. A common example would be experimenting with different
methods of load-balancing.
10 | P a g e
Isolation Testing
Isolation testing is not unique to performance testing but a term used to describe
repeating a test execution that resulted in an application problem. Often used to isolate
and confirm the fault domain.
11 | P a g e
Performance Testing Approach
12 | P a g e
by those goals and constraints; for example, using performance tests to evaluate what
combination of configuration settings will result in the most desirable performance
characteristics.
3. Activity 3. Plan and Design Tests. Identify key scenarios, determine variability
among representative users and how to simulate that variability, define test data, and
establish metrics to be collected. Consolidate this information into one or more models
of system usage to be implemented, executed, and analyzed.
4. Activity 4. Configure the Test Environment. Prepare the test environment,
tools, and resources necessary to execute each strategy as features and components
become available for test. Ensure that the test environment is instrumented for resource
monitoring as necessary.
5. Activity 5. Implement the Test Design. Develop the performance tests in
accordance with the test design.
6. Activity 6. Execute the Test. Run and monitor your tests. Validate the tests, test
data, and results collection. Execute validated tests for analysis while monitoring the
test and the test environment.
7. Activity 7. Analyze Results, Report, and Retest. Consolidate and share results
data. Analyze the data both individually and as a cross-functional team. Reprioritize the
remaining tests and re-execute them as needed. When all of the metric values are within
accepted limits, none of the set thresholds have been violated, and all of the desired
information has been collected, you have finished testing that particular scenario on
that particular configuration.
13 | P a g e
Terminologies
Throughput:-
Throughput or network throughput is the average rate of successful message
delivery over a communication channel. This data may be delivered over a physical or
logical link, or pass through a certain network node. The throughput is usually
measured in bits per second (bit/s or bps), and sometimes in data packets per second or
data packets per time slot. The system throughput or aggregate throughput is the sum
of the data rates that are delivered to all terminals in a network.
Latency:-
In general, the period of time that one component in a system is spinning its
wheels waiting for another component. Latency, therefore, is wasted time. For example,
in accessing data on a disk, latency is defined as the time it takes to position the proper
sector under the read/write head.
Concurrent User:-
It’s that when a number of users try to Access a Particular Action at one Time. A
computer operating system that allows several users to access a resource on the
computer at the same time is a multiuser multitasking operating system, historically
called a time-sharing operating system. The capacity of a system can also be measured
in terms of maximum concurrent users, at which point system performance begins to
degrade noticeably.
State Full:-
State full means that some device is keeping track of another device or a
connection, either temporarily or over a long period of time. A state full connection is
one in which some information about a connection between two systems is retained for
future use.
State Less:-
Previous access methods do not maintain a session between the server and the
database.
Cookies:-
A cookie, also known as a web cookie, browser cookie, and HTTP cookie, is a
piece of text stored on a user's computer by their web browser. A cookie can be used for
authentication, storing site preferences, shopping cart contents, the identifier for a
14 | P a g e
server-based session, or anything else that can be accomplished through storing text
data. A cookie consists of one or more name-value pairs containing bits of information,
which may be encrypted for information privacy and data security purposes. The
cookie is sent as a field in the header of the HTTP response by a web server to a web
browser and then sent back unchanged by the browser each time it accesses that server.
Cookies may be set by the server with or without an expiration date. Cookies without
an expiration date exist until the browser terminates, while cookies with an expiration
date may be stored by the browser until the expiration date passes. Users may also
manually delete cookies in order to save space or to address privacy issues.
Persistent Cookie:-
These cookies are stored in Hard disk. If a Persistent Cookie has Max-age Set to 1
year, then within a Year, the initial value Set in that Cookie would be sent back to
Server Every time, User is Visiting the server.
Cache:-
It’s is a component that transparently stores data so that future requests for that
data can be served faster. The data that is stored within a cache might be values that
have been computed earlier or duplicates of original values that are stored elsewhere. If
requested data is contained in the cache (cache hit), this request can be served by simply
reading the cache, which is comparatively faster. Otherwise (cache misses), the data has
to be recomputed or fetched from its original storage location, which is comparatively
slower. Hence, the more requests can be served from the cache the faster the overall
system performance is. To be cost efficient and to enable an efficient use of data, caches
are relatively small. Nevertheless, caches have proven themselves in many areas of
computing because access patterns in typical computer applications have locality of
reference. References exhibit temporal locality if data is requested again that has been
recently requested already. References exhibit spatial locality if data is requested that is
physically stored close to data that has been requested already.
Paging: -
Paging is one of the memory-management schemes by which a computer can
store and retrieve data from secondary storage for use in main memory. In the paging
memory-management scheme, the operating system retrieves data from secondary
storage in same-size blocks called pages. The main advantage of paging is that it allows
the physical address space of a process to be noncontiguous. Before the time paging was
used, systems had to fit whole programs into storage contiguously, which caused
15 | P a g e
various storage and fragmentation problems. Paging is an important part of virtual
memory implementation in most contemporary general-purpose operating systems,
allowing them to use disk storage for data that does not fit into physical random-access
memory (RAM).
Response Time:-
In real-time systems the response time of a task or thread is defined as the time
elapsed between the dispatch (time when task is ready to execute) to the time when it
finishes its job (one dispatch).
Dead Lock:-
Deadlock is a common problem in multiprocessing where many processes share
a specific type of mutually exclusive resource known as a software lock or soft lock.
Computers intended for the time-sharing and/or real-time markets are often equipped
with a hardware lock (or hard lock) which guarantees exclusive access to processes,
forcing serialized access. Deadlocks are particularly troubling because there is no
general solution to avoid (soft) deadlocks.
Example:-
This situation may be likened to two people who are drawing diagrams, with
only one pencil and one ruler between them. If one person takes the pencil and the
other takes the ruler, a deadlock occurs when the person with the pencil needs the ruler
and the person with the ruler needs the pencil to finish his work with the ruler. Neither
request can be satisfied, so a deadlock occurs.
Connection Pooling
Connection pooling is maintaining a pool of connection which will allow us to
resume the connection without creating a new one.
The most time consuming process when we work with a database is to create a
connection object. When application goes out of scope the object becomes a candidate
for garbage collector. Every time we create and every time will be destroyed. This was
effect on a distributed application, where n no clients are waiting for the response.
Connection pooling is a concept of object reusability. This is a service provided by
application servers.
Multithreading:-
Multithreading is the ability of a program or an operating system process to
manage its use by more than one user at a time and to even manage multiple requests
by the same user without having to have multiple copies of the programming running
in the computer. Each user request for a program or system service (and here a user can
16 | P a g e
also be another program) is kept track of as a thread with a separate identity. As
programs work on behalf of the initial request for that thread and are interrupted by
other requests, the status of work on behalf of that thread is kept track of until the work
is completed.
Process:-
Process is defined as the virtual address space and the control information
necessary for the execution of a program while Threads are a way for a program to split
itself into two or more simultaneously running tasks. In general, a thread is contained
inside a process and different threads in the same process share some resources while
different processes do not.
17 | P a g e
Client Server Architecture
Two tier architecture
In modern two-tier architecture, the server holds both the application and the
data. The application resides on the server rather than the client, probably because the
server will have more processing power and disk space than the PC.
18 | P a g e
shopping cart contents. It communicates with other tiers by outputting results to the
browser/client tier and all other tiers in the network.
Application tier
Data tier
This tier consists of database servers. Here information is stored and retrieved.
This tier keeps data neutral and independent from application servers or business logic.
Giving data its own tier also improves scalability and performance.
19 | P a g e
20 | P a g e
LOAD RUNNER
Performance testing cannot be done manually. We cannot say 1000
users to click on the same button at a same time. We need a tool to do
performance testing. Load runner is a tool for the performance testing. There
are many tools available in the market for the performance testing but Load
runner is the best amongst them.
Coordinator
21 | P a g e
Components of Load Runner
Types of Components
VuGen (Virtual User Generator)
Load Generator
Controller
Analysis
Load Generator
22 | P a g e
Load generators (also known as hosts) are used to run the Vusers that generate load on
the application under test.
Controller
Once a script is prepared in Vugen, it is run via the Controller. Each run is called as
a scenario with some preset settings. As a single point of control, it provides complete
visibility of the tests and the virtual users. The Controller facilitates the process of
creating a load test scenario by allowing us to:
Assign scripts to individual groups.
Define the total number of virtual users needed to run the tests.
Define the host machines on which virtual users are running.
Controller provides a suite of performance monitors to monitor the performance of
individual components. Some monitors include Oracle Monitors, WebSphere
Monitors, etc. Once a scenario is set and the run is completed, the result of the
scenario can be viewed via the Analysis tool.
Analysis
Once the results are ready, analysis is the most important job in the whole
performance test if the requirements of performance test are not defined. The main
criteria for analysis should be to find out the bottlenecks and we should be able to track
the transactions / users / hits that create the highest level of performance reduction.
Based on the test run, Load Runner will generate various graphs and reports. This
phase contains.
Lab Setup:
23 | P a g e
Scripting
Recording Option
Broadly divided into three categories:-
General
Network
24 | P a g e
HTTP Properties
General:-
Script:
When you record a session VuGen creates a script that emulates your actions.
The default script generation language is C or C# for MS .NET. For the FTP,
COM/DCOM, and mail protocols (IMAP, POP3, and SMTP), VuGen can also generate a
script in Visual Basic, VB Script, and JavaScript.
Protocols:
Before recording a multi-protocol session, VuGen lets you modify the protocol
list for which to generate code during the recording session. If you specified certain
protocols when you created the script, you can enable or disable them using the
Protocol Recording options.
25 | P a g e
Recording:
HTML
The HTML-based script level generates a separate step for each HTML user
action. The steps are also intuitive, but they do not reflect true emulation of the
JavaScript code.
URL
The URL-based script mode option instructs VuGen to record all browser
requests and resources from the servers that were sent due to the user's actions. It
automatically records every HTTP resource as URL steps (web_url statements). All
actions are recorded as web_url steps instead of web_link, web_image, and so on.
Network:-
VuGen uses the Port Mapping settings to direct traffic via a specific server:port
combination to the desired communication protocol. You can configure the Port
Mapping settings in the following areas:
Capture level. The level of data to capture (relevant only for HTTP based
protocols):
Socket level data. Capture data using trapping on the socket level only. Port
mappings apply in this case (default).
WinINet level data. Capture data using hooks on the WinINet.dll API used
by certain HTTP applications. The most common application that uses these
hooks is Internet Explorer. Port mappings are not relevant for this level.
Socket level and WinINet level data. Captures data using both mechanisms.
WinINet level sends information for applications that use the WinINet DLL.
Socket level sends data only if it determines that it did not originate from the
WinINet dll. Port mapping applies to data that did not originate from
WinINet.
26 | P a g e
HTTP Properties
Advanced
27 | P a g e
Correlation
VuGen's correlation engine allows you to automatically correlate dynamic data
during your recording session
28 | P a g e
29 | P a g e
Customization of Script
Parameterization
Parameters are like script variables. They are used to vary input to the server and
to emulate real users. Parameter is not a dynamic value captured from server response
but it is something for which the user has predefined data values available. There is
different type of parameters in Load Runner, Different types of Parameters.
Data Files:
Data that is contained in a file either an existing file or one that we create with
VuGen. Data files hold data that a Vuser accesses during script execution. Data can be
stored in local or global files. Data files are useful if we have many known values for
parameter. The data in a data file is stored in the form of a table. One file can contain
values for many parameters. Each column holds the data for one parameter.
30 | P a g e
31 | P a g e
32 | P a g e
Correlation:
Correlation is use to handle dynamic content. Dynamic content refers to page
components that are dynamically created during the execution of a business process,
and the value may differ from the value generated in a previous run. Examples of
dynamic content include the ticket number in an on-line reservation system, a
transaction ID in an on-line banking application and most importantly the unique
session ID that is created each time a user logs in. Such dynamic values must be
correlated in order to run the recorded script. The script while running will return an
error if such a dynamic value has not been correlated, since the value changes each time
the user logs in.
33 | P a g e
Manual Correlation
Manual Correlation is done by using the LR inbuilt function given below:
web_reg_save_param("When_Txt", "LB= ", "RB= ", LAST);
Runtime settings
General
Run Logic
You can instruct a Vuser to Repeat the Run section when you run the script. Each
repetition is known as iteration
Number of Iterations
Load Runner repeats all of the actions, the specified number of times.
If you specify scenario duration in the controller, the duration setting overrides the
Vusers iteration settings.
34 | P a g e
Pacing
Control the time between iterations.
The pace tells the Vuser how long to wait between iterations of Vuser
You can instruct Vuser by following any of the method below
As soon as the previous iteration ends.
After the previous iteration ends with a fixed / random delay
At fixed / random intervals
Log
Vusers log information about themselves and their communication between
server
Two types of Logs
Standard
Extended
VuGen writes log messages that we can view in execution log.
35 | P a g e
lr_log_message. Messages sent manually, using lr_message, lr_output_message, and
lr_error_message, are still issued
Think Time
When you run a Vuser script, the Vuser uses the think time values that were
recorded into the script during the recording session. VuGen allows you to use the
recorded think time, ignore it, or use a value related to the recorded time:
36 | P a g e
Miscellaneous
We can set the following miscellaneous run-time options for a Vuser script:
Error Handling
Multithreading
Vusers support multithreaded environments. The primary advantage of a multithread
environment is the ability to run more Vusers per load generator.
Automatic Transactions
37 | P a g e
Network
Using the Speed Simulation settings, you can select a bandwidth that best emulates the
environment under test. The following options are available:
Use maximum bandwidth. By default, bandwidth emulation is disabled
and the Vusers run at the maximum bandwidth that is available over the
network.
Use bandwidth. Indicate a specific bandwidth level for your Vuser to
emulate. You can select a speed ranging from 14.4 to 512 Kbps, emulating
analog modems, ISDN, or DSL.
Use custom bandwidth. Indicate a bandwidth limit for your Vuser to
emulate. Specify the bandwidth in bits, where 1 Kilobit=1024 bits.
38 | P a g e
Browser
We can use the Browser: Browser Emulation node in the Run-Time Settings tree to set
the browser properties of your testing environment.
39 | P a g e
Internet
Proxy
Types of Proxy setting
No proxy:
All Vusers should use direct connections to the Internet. This means that the connection
is made without using a proxy server.
Obtain the proxy settings from the default browser:
All Vusers use the proxy settings of the default browser from the machine upon which
they are running.
Use custom proxy:
All Vusers use a custom proxy server. You can supply the actual proxy server details or
the path of a proxy automatic configuration script (.pac file) that enables automatic
configuration
40 | P a g e
Preference
Image and Text Checks:
Image and text checks option allows the Vuser to perform verification checks
during replay by executing the verification functions. This option only applies to
statements recorded in HTML-based mode. Vusers running with verification checks use
more memory than Vusers who do not perform checks.
41 | P a g e
Download Filters
We can specify the Web sites from which Vusers should download resources
during replay. You can indicate either the sites to exclude or the sites to include. You
control the allowed or disallowed sources, by specifying a URL, host name, or host
suffix name.
42 | P a g e
Content Check
VuGen's Content Check mechanism allows you to check the contents of a page
for a specific string. This is useful for detecting non-standard errors. In normal
operations, when your application server fails, the browser displays a generic HTTP
error page indicating the nature of the error. The standard error pages are recognized
by VuGen and treated as errors, causing the script to fail. Some application servers,
however, issue their own error pages that are not detected by VuGen as error pages.
The page is sent by the server and it contains a formatted text string, stating that an
error occurred.
43 | P a g e
44 | P a g e
Debug Function
When we perform load testing, we have to be fully confident, that our application
works correctly. It may be very useful to check UI of application - is it shown correctly
or not.
Let's start with Load Runner demo Web application - Web Tours.
I will show how to check that a greeting 'Welcome to the Web Tours site' is shown on a
start page:
I've recorded a simple script on Web Tour application - it just opens a start page, logs
in, and logs out:
45 | P a g e
After that:
open the script in Tree View (with menu 'View/Tree View')
select initial step ('Url: WebTours')
select the text I would like to check on the page and
right mouse click:
46 | P a g e
Then open LoadRunner script in Script View (menu 'View/Script View') and i will see
that web_reg_find function has been just added before the first function:
web_reg_find function has been added before the page opening function (web_url)!
This is because LoadRunner web_reg_find function does not search for text on a page;
it just registers a search request for a text string on an HTML page.
This is very important and I would like to pay your attention - web_reg_find function
should be placed before the function, which loads a page.
. Description of web_reg_find function attributes
The simplest web_reg_find function can look like:
.
web_reg_find("Text=Welcome to the Web Tours site", LAST);
.
This form means 'register a request to search for a "Welcome to the Web Tours
site" text on a next Web page retrieved from a server.
47 | P a g e
Attribute 'Text=' contains a text, that should be searched.
If the check fails, the error is reported after the next action function executes:
Example:
Please, see a server response:
Imagine, that we have to get a number of 'A Coach class ticket for:' text on Itinerary page:
48 | P a g e
The following code:
uses web_reg_find function with "SaveCount=" attribute (3rd line) before the
Itinerary page loads
then loads Itinerary page (6th line)
extracts number of matches (8th line) and
compares it to an expected value (9th line):
1. int nFound;
2.
3. web_reg_find("Text=A Coach class ticket for :", "SaveCount=TextPresent_Count",
LAST);
4.
5. // open Itinerary page
6. web_image("Itinerary Button", "Alt=Itinerary Button", LAST);
7.
8. nFound = atoi(lr_eval_string("{TextPresent_Count}"));
9. if (nFound == 11)
10. lr_output_message("Correct number of 'Coach class ticket' text: %d", nFound);
11. else
12. {
13. lr_error_message("Incorrect number of 'Coach class ticket' text: %d", nFound);
14. return 0;
15. }
16.
49 | P a g e
lr_set_debug_message
It sets the message level for the script execution.
Syntax:-
3. int lr_set_debug_message (unsigned int message_level, unsigned int
on_off);
Example
In this example, the lr_set_debug_message function enables the full trace option just
before a call to lrd_fetch, which the user needs to debug because it has been giving
unexpected results.
The second invocation of lr_set_debug_message resets the debug level to what it was
formerly, by turning off (LR_SWITCH_OFF) the extended message level.
4. lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG |
LR_MSG_CLASS_FULL_TRACE, LR_SWITCH_ON );
rc = lrd_fetch(Csr1, 1, 1, 0, PrintRow3);
if (rc>2000)
5. lr_debug_message(LR_MSG_CLASS_FULL_TRACE,
"Fetch failed returned %d", rc);
50 | P a g e
Controller
Once a script is prepared in VuGen, it runs using the LoadRunner Controller.
The Controller manages and maintains the scenarios that are run. During a scenario
run, the Controller allows monitoring of network and server resources. The Controller
assigns virtual users and load generators to specific scenarios.
Controller Functionality
Controller organizes and manages scenario elements
During scenario execution the controller :
Runs Vuser Groups
Controls the initialize, run, pause, and stop conditions of each Vuser
Displays the status of each Vuser
Displays any messages from Vusers
Monitors system and network resources
51 | P a g e
Types of Scenarios
Manual Scenario
Manage your Load Test by specifying the number of Virtual users to run
Goal-Oriented Scenario
Allow LoadRunner Controller to create a Scenario based on the goals you
specify
Manual Scenario
You control the number of Running Vusers at the time which they run.
You can specify how many Vusers run simultaneously
Allows you to run the Vuser in Percentage mode
Goal-Oriented Scenario
Determine your system to achieve the particular goal
The goal may be number of hits per second, Number of transaction per second,
etc.,
Manages Vusers Automatically to maintain and achieve the goal
Vuser Groups
Scenario consists of group of Vusers which emulate the Human users to interact
with your application
Each script you select is assigned a Vuser group
Each Vuser group is assigned a number of Vusers
You can Assign different script to each Vuser or You can assign the same script
to all the Vusers
52 | P a g e
Adding Vuser Group
Group Name
Vuser Quantity
Load Generator name
53 | P a g e
54 | P a g e
Analysis
Analysis provides graphs and reports to help you analyze the performance of your
system. These graphs and reports summarize the scenario execution.
55 | P a g e
To view a summary of the results after test execution, we can use one or more of the
following tools:
• Vuser log files contain a full trace of the scenario run for each Vuser. These files
are located in the scenario results directory.
• Controller Output window displays information about the scenario run.
• Analysis graphs help you determine system performance and provide
information about transactions and Vusers.
• Graph Data and Raw Data views display the actual data used to generate the
graph in a spreadsheet format.
Report utilities enable us to view a Summary HTML report for each graph or a variety
of Performance and Activity reports. You can create a report as a Microsoft Word
document, which automatically summarizes and displays the test’s significant data in
graphical and tabular format
56 | P a g e
• After scenario execution the results are automatically collated or consolidated –
results from all the hosts are transfer to results directory
• You disable automatic collation by choosing Results > Auto collate Results from
the controller window
• You can collate manually by selecting Results > Collate Results
• If your results are not collated Analysis will automatically collate the results
before generating the analysis data
Analysis Graphs
Analysis graphs are divided into the following categories:
Vuser Graphs - Provide information about Vuser states and other Vuser
statistics.
Error Graphs - Provide information about the errors that occurred during the
scenario.
Transaction Graphs - Provide information about transaction performance
and response time.
Web Resource Graphs - Provide information about the throughput, hits per
second, HTTP responses per second, number of retries per second, and
downloaded pages per second for Web Vusers.
Web Page Breakdown Graphs - Provide information about the size and
download time of each Web page component.
User-Defined Data Point Graphs - Provide information about the custom
data points that were gathered by the online monitor.
System Resource Graphs - Provide statistics relating to the system resources
that were monitored during the scenario using the online monitor.
Network Monitor Graphs - Provide information about the network delays.
Firewall Server Monitor Graphs - Provide information about firewall server
resource usage.
Web Server Resource Graphs - Provide information about the resource usage
for the Apache, iPlanet/Netscape, iPlanet(SNMP), and MS IIS Web servers.
57 | P a g e
Graphs that contain data are listed in blue. By default, only graphs that
contain data are listed. To view the entire list of LoadRunner graphs, clear
Display only graphs containing data.
Use the Scenario Elapsed Time field to limit the time range for which graph
data is displayed.
58 | P a g e