You are on page 1of 40

Open Source and Commercial

Performance Testing Tools

Palla Vinod Kumar


Accenture Delivery Center for Technology in India
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.
Introduction

and

Setting the Context


Copyright © 2008 Accenture All Rights Reserved. 2
Agenda
• Performance Testing
• Performance Test Tools
• Comparison Factors
• Accuracy
• Cost
• Features
• Test Tools Comparison
•Q & A

Copyright © 2008 Accenture All Rights Reserved. 3


Performance Testing
• What?
– Performance Testing is subjecting the SUT to either user load
or data volume load and measuring the performance metrics
associated with the application and the system
• Why?
– To validate that the application can process targeted average
and peak transaction volumes
– To verify that response times and system resource utilization
fall within defined target ranges
– To validate that service level agreements (SLAs) are met in a
production-like configuration.

Copyright © 2008 Accenture All Rights Reserved. 4


Performance Testing Tools
• Need for Automated tools
• Types of tools
– Load Generation Tools
• Controller
• Script or test generators
• Load generators or agents
– Monitoring tools
– Analysis tools
– Reporting tools
– Profilers

Copyright © 2008 Accenture All Rights Reserved. 5


Performance Testing Tools
• Commercial tools
– LoadRunner
– Silk Performer
– Rational Performance Tester
– …
• Open source tools
– OpenSTA
– JMeter
– Grinder
– WebLoad Basic Edition
– …

Copyright © 2008 Accenture All Rights Reserved. 6


Comparison Factors
• Accuracy
• Cost
• Features
– Scenarios
– Scripting
– Monitoring
– Analysis

Copyright © 2008 Accenture All Rights Reserved. 7


Tools - Accuracy
• Accuracy has been a subject of debate and research among
performance testers
• Every tool claims that it is accurate
• Each tool can provide different results for a similar test
• It should not be taken for granted that commercial tools are
always accurate
• Always cross check the test results with manual testing
results while the test is in progress, to validate the test
results.
• Same applies for error messages.

Copyright © 2008 Accenture All Rights Reserved. 8


Tools - Cost
• Commercial tools includes cost for
– Controllers
– Monitors
– Tuning modules
– Virtual users
• Open Source tools are free for commercial use also

Copyright © 2008 Accenture All Rights Reserved. 9


Tools – Features - Scenarios
• How accurate can the test scenario be built to match real
time usage of the application
– User concurrency
• Goal-based scenarios
– Transactions per second
– Response time thresholds
• Control over a running scenario
– Dynamically adding/stopping virtual users
• OpenSTA, an open source tool, allows adding virutal users at
runtime
– Ability to view what a virtual user is experiencing in runtime
• LoadRunner and Silk Performer

Copyright © 2008 Accenture All Rights Reserved. 10


Tools – Features - Scenarios
• LoadRunner and Silk Performer can emulate
complex scenarios
• Open source tools cannot handle complex
scenarios out-of-the-box

Copyright © 2008 Accenture All Rights Reserved. 11


Tools – Features - Scripting
• Record and Replay
– Supported by most commercial and open source
tools
• Manual scripting
– Supported by most commercial and open source
tools
– Very complex and cumbersome, and is not
recommended
– Very useful for testing APIs

Copyright © 2008 Accenture All Rights Reserved. 12


Tools – Features - Scripting
• LoadRunner
– C API
– Java API
– JavaScript
– VB Script
• Silk Performer
– .Net framework
– Java framework
– VB framework
– COM interface
– DLL interface
• Grinder
– Java API
Copyright © 2008 Accenture All Rights Reserved. 13
Tools – Features - Scripting
• Commercial tools support many protocols apart
from the HTTP/HTTPS protocol
• LoadRunner and Silk Performer support multi
protocol scripts
• Most open source tools support only HTTP protocol
and therefore can only be used for web applications
• JMeter supports Web – HTTP/HTTPS, SOAP,
database via JDBC, LDAP, JMS, Mail - POP3
protocols

Copyright © 2008 Accenture All Rights Reserved. 14


Tools – Features - Scripting
• LoadRunner and Silk Performer support high level
context based scripting for HTTP/HTTPS protocol
• Context based recording results in a script which is
short, clear and easy to maintain
• Open source tools are mainly based on low level
scripting
• If the name of an image is changed, then a script
recorded earlier will fail for that request if recorded
in low level

Copyright © 2008 Accenture All Rights Reserved. 15


Tools – Features - Scripting
• Automatic Correlation
– Most tools (open source and commercial) support
automatic correlation of user session variables
– LoadRunner and Rational Performance Tester
support automatic correlation of dynamic application
data
– This feature is very important for scripting complex
applications such as enterprise class applications
– LoadRunner allows defining new correlation rules

Copyright © 2008 Accenture All Rights Reserved. 16


Tools – Features - Scripting
• Rendezvous Points
– Most open source and commercial tools support
rendezvous points
– Commercial tools such as LoadRunner and Silk
Performer allow the rendezvous points to be defined
in detail which allows complex scenarios to be
emulated

Copyright © 2008 Accenture All Rights Reserved. 17


Tools – Features - Monitoring
• Most commercial tools support real time monitoring
of server side metrics such as CPU usage,
memory, …
• Of the open source tools, OpenSTA supports real
time monitoring of server resources available
through perfmon and SNMP agents
• Most of the open source and commercial tools
support the monitoring of client side metrics such as
response time, hit rate

Copyright © 2008 Accenture All Rights Reserved. 18


Tools – Features - Monitoring
• Performance monitoring of database servers, web
servers, application servers are available only in
commercial tools and require a separate license
• This should not be a major concern as most
applications/technology provide a means for
monitoring their performance
– Performance counters
– JMX counters
– SNMP agents
– Application specific monitoring tools

Copyright © 2008 Accenture All Rights Reserved. 19


Tools – Features - Analysis
• Primary use of analysis is to visualize the
performance data so as to make observations and
create reports
• Most tools provide the following data
– Running virtual users
– Response time
– Hits per second
– Throughput (bytes/sec)
– Page time Breakdown
– Transactions per second
Copyright © 2008 Accenture All Rights Reserved. 20
Tools – Features - Analysis
• Most commercial tools allow resource usage graphs overlay
on client side metrics graphs
• Among the open source tools, OpenSTA and WebLoad
Basic edition has analysis and reporting capabilities on par
with commercial tools
• Open source reporting tools such as JCharts can be
integrated with JMeter to produce desired graphs
• Both commercial and open source tools allow raw data to be
exported to Microsoft Excel so that desired charts can be
produced
• Commercial tools offer the advantage to use
RDBMS/Access as results repository
Copyright © 2008 Accenture All Rights Reserved. 21
Test Tools Comparison
Protocols - The communication protocols that can be captured,
manipulated and replayed by the tool.

LoadRunner OpenSTA Silk Performer Jmeter Grinder


Many supported. HTTP 1.0 / 1.1 / Many supported. HTTP 1.0 / HTTP 1.0 / 1.1 /
Protocols are HTTPS (SSL) Protocols are 1.1 / HTTPS HTTPS (SSL),
charged per only. charged per (SSL), FTP, Can be
item. Has a item. Has a JMS, JDBC extended to
multi-protocol multi-protocol support Java
recording recording API testing
feature. feature.

Copyright © 2008 Accenture All Rights Reserved. 22


Test Tools Comparison
Playback functions - Replaying of the script and script
debugging facilities.
LoadRunner OpenSTA Silk Performer Jmeter Grinder
Extended logging Similar playback Extended logging No integrated No integrated
supports view of facilities, but no supports view of comparison comparison
parameter values integrated parameter values functionality functionality
and Server comparison and Server
messages. Also function. The messages. Also
view and debugging view and
comparison with functions are in comparison with
‘recorded’ the controller, ‘recorded’
version of web including set version of web
page view and break points and page view and
client response single stepping. client response
messages. messages.
Debugging Debugging
facilities in script facilities in script
generator, step generator, step
and breakpoints. and breakpoints.

Copyright © 2008 Accenture All Rights Reserved. 23


Test Tools Comparison
Scripting Language - The medium used to represent the captured protocol
data and manipulate the data for play-back.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Called TSL, it Called SCL, it uses Called BDL. Java Jython, a mix of
uses standard a proprietary, Has python and
syntax for “C” “BASIC” like extensive Java
et allows C language that has customized
function special functions for
libraries to be automation the different
added. Has scripting facilities. protocols
extensive Is limited in supported
customized available by the tool.
functions for functions, such as
the different string
protocols manipulation and
supported by supports direct
the tool. DOM addressing.
Copyright © 2008 Accenture All Rights Reserved. 24
Test Tools Comparison
Extensibility - The medium used to represent the captured protocol data
and manipulate the data for play-back.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Additional TSL SCL script Additional BDL New New
or “C” function modules can be or “C” function functions can functionality
libraries, defined in libraries, be made can be made
limited to 'Include' files. limited to available by available
functional Open Source functional creating through java
capabilities of therefore new capabilities of them in Java classes
the tool. tool the tool.
functionality
can be added
using C++.

Copyright © 2008 Accenture All Rights Reserved. 25


Test Tools Comparison
Scripting Interface - The interfaces supplied by the tool application for the
purpose of script editing.

LoadRunner OpenSTA Silk Performer Jmeter Grinder


Captures in several Has low-level HTTP Captures in several Has low-level Does not support
modes, high level protocol view and modes, high level HTTP protocol record and
context based provides graphical context based view and playback. HTTP
and low level tree and low level provides plug-in is
HTTP view. Has representation of HTTP view. Has graphical tree available to
both a graphical the Document both a graphical representation create HTTP
tree structure et Object Model tree structure et of the requests tests.
a script view. (DOM) structure. a script view.
Script view has Viewable captured Script view has
function sensitive HTML rendering function sensitive
entry. and addressable entry.
server-header
table. Some
language
sensitive, syntax
color coding
functionality.

Copyright © 2008 Accenture All Rights Reserved. 26


Test Tools Comparison
Correlation - The task of substituting values in dynamic data to enable
successful playback.

LoadRunner OpenSTA Silk Performer Jmeter Grinder


Automated Manual Automated Manual Manual
correlation correlation correlation Correlation Correlation
faculties. using graphical faculties, after only only
Including interactive DOM recording and
during structure. comparing
recording, Facility to recordings
after recording automatically with playback
and comparing generate script results.
recordings with code to aid
playback variable
results. Not substitution.
available for all
modes of
capture.

Copyright © 2008 Accenture All Rights Reserved. 27


Test Tools Comparison
Cookie Management - Detection, recording and playback of HTTP
cookies. Both tools need additional code to manage JavaScript generated
cookies.
Silk
LoadRunner OpenSTA Performer Jmeter Grinder
HTTP header HTTP header HTTP header HTTP header Cookies should
cookies are cookies are cookies are cookies are be handled
managed managed managed managed in the test
automatically automatically automatically automatical script
and can be and can be and can be ly and can
manipulated manipulated manipulated be
manually if manually if manually if manipulate
required. required. required. d manually
if required.

Copyright © 2008 Accenture All Rights Reserved. 28


Test Tools Comparison
Parameterization - Automatically changing dynamic data values for more accurate emulation of real
users.
LoadRunner OpenSTA Silk Performer Jmeter Grinder
Extensive facilities Extensive facilities Extensive facilities for Standard Parameterization
for data entry for data entry data entry including functions for has to be
including wizard including wizard wizard interface to sequential, handled in the
interface to DB interface to automatically random and script
interrogation. No automatically generate test data. pseudo-
standard function generate test data. Standard functions random data-
to lock data Standard functions for sequential, file access.
sources and for sequential, random and pseudo-
maintain random and random data-file
uniqueness of pseudo-random access. Has standard
concurrently data-file access. common locking
accessed data Has standard facilities for
across distributed common locking maintaining
tests. facilities for uniqueness of
maintaining parameters for an
uniqueness of individual load
parameters for an injector or across all
individual load injectors on a
injector or across distributed test.
all injectors on a
distributed test.

Copyright © 2008 Accenture All Rights Reserved. 29


Test Tools Comparison
Monitoring - Resource usage information is captured during execution. It can be shown
during execution and used to build performance reports.
Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Many supported. On-line Supports Integrated real- Many supported. No inbuilt Can monitor
graphics during time, graph view of On-line support the
execution. Supplied with Windows NT/2000 graphics during for online response
Apache, Netscape et IIS, Performance (Perfmon) execution. monitorin time and
other monitors are et SNMP collectors. Results used g. Allows transactions
charged per item. Various measurements for reporting. the per second
Results used for of test progress functionali in real time
reporting. New facility to including VU-specific, ty to be
allow remote users to custom status and extended
monitor real-time results activity information. for real
via a browser based Web-relay allows time
interface. Note: To monitors to run on monitorin
monitor through a remote machines g of client
firewall requires TCPIP beyond firewall. On- side
access through a specific line graphics during metrics
port. execution, et
monitored results used
for reporting.

Copyright © 2008 Accenture All Rights Reserved. 30


Test Tools Comparison
Distributed Load Tests - The ability to distribute the generation of load across
multiple load-injector machines.

LoadRunner OpenSTA Silk Performer Jmeter Grinder


Supports Supports multiple Supports Supports Supports
multiple load- load-injectors multiple load- multiple multiple
injectors managed by a injectors load- load-
managed by a single controller. managed by a injectors injectors
single Uses TCP/IP if on single managed by managed by
controller. the same network controller. a single a single
or the Web-relay controller. controller.
feature uses HTTP
to control load-
injectors located
within remote
DMZs.

Copyright © 2008 Accenture All Rights Reserved. 31


Test Tools Comparison
IP Spoofing - The ability to emulate the behavior of different IP addresses
accessing a system. Particularly useful with Load balancing systems.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Supports IP No inbuilt Supports IP No inbuilt No inbuilt
spoofing features to spoofing features to features to
including enable IP enable IP enable IP
automated spoofing. spoofing. spoofing.
router
updates for
IP
forwarding.

Copyright © 2008 Accenture All Rights Reserved. 32


Test Tools Comparison
WAN/LAN Emulation - The ability to emulate the behavior of different network
infrastructures during a test.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
New feature added No inbuilt No inbuilt No inbuilt No inbuilt
to version 7.6. features features to features to features to
Allows the to enable enable WAN/ enable enable WAN/
emulation of WAN/LA LAN WAN/LAN LAN
latency, packet N emulation. emulation. emulation.
loss, link faults et emulatio
dynamic routing n.
effects over the
LAN used in a
test. Requires a
special license.

Copyright © 2008 Accenture All Rights Reserved. 33


Test Tools Comparison
Caching - The ability to emulate the caching of pages as performed by a web
browser.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Can control No specific Can control No specific No specific
browser faculties, browser faculties, faculties,
cache although can cache although although can
emulation be emulated emulation can be be emulated
during with simple during emulated with script
playback and script code. playback and with script code.
control control code.
setting for setting for
each each
individual individual
vuser. vuser.

Copyright © 2008 Accenture All Rights Reserved. 34


Test Tools Comparison
User connection speed emulation - The ability to emulate the different network speeds that
can be used by real users.

Silk
LoadRunner OpenSTA Performer Jmeter Grinder
Can emulate No inbuilt Can emulate No inbuilt No inbuilt
different features to different features to features to
network emulate user- network emulate emulate
speeds connection speeds user- user-
during speed during connection connection
playback emulation. playback speed speed
emulation. emulation.

Copyright © 2008 Accenture All Rights Reserved. 35


Test Tools Comparison
Reporting and Analysis - The facilities to examine and investigate the results of a test
including timers and monitored resources and display the results in graphical format

LoadRunner OpenSTA Silk Performer Jmeter Grinder


Sophisticated et Simple charts and graphs Sophisticated et large Simple charts Test results are
large range of sufficient for analyzing range of charts and and graphs provided in
charts and graphs key load related graphs with overlay for analyzing log files.
with overlay statistics and resource facilities. client side
facilities. usage monitors. -Automatic report metrics. Can
-Automatic report Resource usage generation HTML be extended
generation into monitors supports format. to use open
MS-Word. graph overlays. Can be source
Analyzer is a exported to Microsoft reporting
separate Excel. No license tools.
application that restrictions on
can be distributed OpenSTA distribution
to users. thus stats can be
viewed by any user
with access. -Free
tools and excel macros
available through
public user-forums.

Copyright © 2008 Accenture All Rights Reserved. 36


Open Source Vs Commercial
Tools
• Do not write off open source tools
• Evaluate the requirements of an application before
deciding on a test tool

Copyright © 2008 Accenture All Rights Reserved. 37


References
• OpenSTA, the free performance testing tool, versus the big-guns... By
Andy O'Brien and Antony Marcano of "etest
associates":http://www.etest-associates.com
• Stress, Load, Volume, Performance, Benchmark And Base Line Testing
Tool Evaluation And Comparison by Cordell Vail
• http://www.softwareqatest.com/qatweb1.html
• http://www.tejasconsulting.com/open-testware/feature/grinder-3.0-beta.html
• http://www.docstoc.com/docs/13159/Website-Load-Tester-Tools-Overview
• http://www.opensourcetesting.org/performance.php

Copyright © 2008 Accenture All Rights Reserved. 38


Open Source and Commercial
Performance Testing Tools

Q&A

Copyright © 2008 Accenture All Rights Reserved. 39


Thank You!

vinod.kumar.palla@accenture.com

Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.