You are on page 1of 32

SilkPerformer – R2 2008

Prepared by Sriraman K

1
Objectives

• Performance Testing
– What
– Why
– Need of Performance Testing
– How
• To make the participant ready to manage projects

2
Performance Testing

• What is Performance Testing?


• Why performance testing required?
• What are the benefits and false notion?
• Various performance tool in the market
• Introduction to Silk Performer
• SP Architecture
• SP Course Content

3
What is Performance Testing

• Performance testing is an empirical, technical


investigation conducted to provide stakeholders
with information about the quality of the product
or service under test with regard to speed,
scalability and/or stability characteristics
• Load
• Stress
• Scalability
• Volume

4
Load, Stress, Scalability Testing

• Load – Maximum no. of concurrent users accessing the


application where the application responds within
stipulated time.
• Stress – Increase beyond load, where the application
responds and the response time increases as we
increase the load.
• Scalability – It is the point at which the system fails to
respond.
• Volume – As per the testing industry standards, to the
check the performance with different volume of records in
the database
– As per HP – it is the endurance test.

5
Why - Performance

• To ensure the defined standards are met


• To avoid
– Design errors due to improper
• Exception handling
• Coding for multiple user environment
• Database management
– Memory leakage
– Improper sever optimization

6
Silk Performer

• To load your application, Silk Performer emulates


an environment where multiple users work
concurrently.
• While the application is under load, Silk
Performer accurately measures, monitors, and
analyzes a system’s performance and
functionality.

7
Architecture Overview

8
Client-Server Paradigm

• Client Server applications deliver higher


functionalities and power, but also introduce new
risks:
– Higher Performance risks due to large number of
users accessing the system simultaneously.
– Impossible to manually simulate load on application

9
Manual Load Testing

• It is expensive, requiring large amounts of both


personnel and machinery
• It is complicated, especially coordinating and
synchronizing multiple testers
• It involves a high degree of organization,
especially to record and analyze results
meaningfully
• The repeatability of the manual tests is limited

10
Load Testing with Silk Performer

• Silk Performer reduces the personnel requirements by


replacing human users with virtual users or Vusers.
These Vusers emulate the behavior of real users—
operating real applications.
• Because numerous Vusers can run on a single computer,
Silk Performer reduces the hardware requirements.
• The Silk Performer Work Load allows you to easily and
effectively control all the Vusers—from a single point of
control.

11
Load Testing with Silk Performer

• Silk Performer monitors the application


performance online, enabling you to fine-tune
your system during test execution.
• Silk Performer automatically records the
performance of the application during a test.
You can choose from a wide variety of graphs
and reports to view the performance data.

12
Load Testing with Silk Performer

• Silk Performer checks where performance delays occur:


network or client delays, CPU performance, I/O delays,
database locking, or other issues at the database server.
• Silk Performer monitors the network and server resources
to help you improve performance.
• Because Silk Performer tests are fully automated, you can
easily repeat them as often as you need.

13
Load & Stress Testing

• Load & Stress testing are two different but related forms
of testing.
• Stress Testing: Involves testing a system under extreme
cases, which may rarely occur under normal conditions.
• Such testing can involve scenarios like:
– Running many users concurrently for short times
– Short transactions repeated quickly and extraordinarily long
transactions.

14
Load & Stress Testing

• Load testing places a more realistic load on the system


• Load testing starts by placing a low demand on the
system and gradually increasing the load.
• This process allows measuring the performance of the
system under loads, as well as determining the maximum
load, under which the AUT can respond acceptably.

AUT – Application Under Test

15
Load & Stress Testing

• Load and stress testing are clearly two inter


related processes, generally performed
concurrently.
• They do not conduct functional tests.
• In order to perform performance testing, it must
be assumed that a reasonably stable and
functional system is in use, otherwise results are
meaningless.

16
Load & Stress Testing

• It is essential to know that the bottleneck of a


system is due to the server / Client/ Database/
Network performance issues.
• Performance issues could be related to:
– Lack of sufficient Memory
– Lack of CPU performance
– poor algorithms
– Poor design.

17
Silk Performer-Scenarios

• Using Silk Performer, you divide your application


performance testing requirements into scenarios.
• A Scenario could be running a Use Case. In ideal
condition there may be 10-20 use cases /Scenarios in a
AUT.
• A scenario defines the events that occur during each
testing session. Thus, for example, a scenario defines
and controls the number of users to emulate, the actions
that they perform, and the machines on which they run
their emulations.

18
VUsers

• In the scenario, Silk Performer replaces human users


with virtual users or Vusers. When you run a scenario,
Vusers emulate the actions of human users— submitting
input to the server.
• While a workstation accommodates only a single human
user, many Vusers can run concurrently on a single
workstation. In fact, a scenario can contain tens,
hundreds, or even thousands of Vusers.

19
Scripts

• The actions that a Vuser performs during the


scenario are described in a script. When you run
a scenario, each Vuser executes a script.
• The scripts include functions that measure and
record the performance of the server during the
scenario.

20
Transactions

• To measure the performance of the server, you


define transactions. A transaction represents an
action or a set of actions that you are interested
in measuring.
• You define transactions within your script by
enclosing the appropriate sections of the script
with start and end transaction statements.

21
Measure Start

Measuring page times


To measure the page times in the Return value
log, we can also use following true if successful
to measure the time
Measurestart (“StringName”) false otherwise
MeasureStop(“StringName”)
MeasureGet Parameter
sMeasure - Measure name used
to identify the measure when
MeasureStart calling additional measure
Include file functions and when analyzing
the results written to both the
Kernel.bdh results repository and
Syntax individual result filesExample
MeasureStart( in sMeasure : MeasureStart (“<StringName>”);
string ): boolean;

22
Measure Stop

MeasureStop
Include file
Kernel.bdh
Syntax
MeasureStop( in sMeasure : string
in bIgnoreOnError : boolean optional ): number;
Return value
Final value of the custom time measure in 1/1000 secs.
Parameter
sMeasure - Measure name identifying the custom time measure to
stopbIgnoreOnErrorWhen enabled, measured time is included in
calculations if no error has occurred since the timer started
(optional). The default value is false.
Example
MeasureStop(“<StringName>”)

23
Work Loads

• You use the Silk Performer Work Loads to manage and


maintain your scenarios.
• Using the Work Load, you control all the Vusers in a
scenario from a single workstation.
• When you execute a scenario, the Silk Performer Work
Load distributes each Vuser in the scenario to a host. The
host is the machine that executes the Vuser script,
enabling the Vuser to emulate the actions of a human
user.
• Ideally, the Silk Performer Work Load must be installed in
a separate system outside the test bed.

24
Work Load Configurator

25
Silk Performer Vuser Technology

• Silk Performer has various types of Vusers. Each type is designed


to handle different aspects of today’s system architectures.
Vuser Types:
1. E-business Vuser : For Web (HTTP,HTML), Corba-Java, General-
Java, LDAP, POP3, COM/DCOM, Jolt, LDAP, POP3 and FTP
protocols.
2. Middleware Vuser : For Jolt, and Tuxedo(6.0, 6.3) protocols.
3. ERP Vuser : For SAP, Baan, Oracle NCA, Peoplesoft (Tuxedo or
Web) and Siebel protocols.
4. Client/Server Vuser : For Informix, MSSQLServer, ODBC, Oracle
(2-tier), Sybase Ctlib, Sybase Dblib, and Windows Sockets
protocols.
5. Legacy Vuser : For Terminal Emulation (RTE).
6. General Vuser : For C template, Java template, and Windows
Sockets type scripts.
26
Silk Performer Testing Process

27
Course Content

• Preparing the • Profiles for both Record


Workbench and Replay Setting
– Script Setting
– Projects
– Simulation Setting
• Protocols
– Result Setting
• Profiles
– Internet
• Scripts
– Web
• Include Files
– Terminal Client
• Data Files
• Script
• Agents
– BDL (Benchmark Description
• Work Loads Language
– Record

28
Course Content

• Script Cont. • Work Load


– Replay – Increasing
– Parameterization – Steady State
– Correlation – Dynamic
• Auto – All Day
• Manual – Queuing
– Applying Transaction – Distributing Load
• With same IP address
• With Different IP
Address

29
Course Content

• Work Load Cont. • Analysis


– Monitors – Summary
– Transaction Response Time
– Hits per sec
– Throughput
– Errors
– Page break down

30
Comments & Queries-

Queries are always welcome.

Contact for any clarification


sriramank@softsmith.com or
webinargold@softsmith.com
Ph. +91 9448613686

31
Feedback-

Please spend few minutes from your


valuable time to provide your feedback.

It will help us to improve in next sessions.

Contact Details
Sriraman K
Email : sriramank@softsmith.com
HP: 9448613686

Thanks & Happy day

32

You might also like