320 likes | 581 Views
SilkPerformer – R2 2008 . Prepared by Sriraman K . Objectives. Performance Testing What Why Need of Performance Testing How To make the participant ready to manage projects. Performance Testing . What is Performance Testing? Why performance testing required?
E N D
SilkPerformer – R2 2008 Prepared by Sriraman K
Objectives • Performance Testing • What • Why • Need of Performance Testing • How • To make the participant ready to manage projects
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
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
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.
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
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.
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Measure Start Measuring page times To measure the page times in the log, we can also use following to measure the time Measurestart (“StringName”) MeasureStop(“StringName”) MeasureGet MeasureStart Include file Kernel.bdh Syntax MeasureStart( in sMeasure : string ): boolean; Return value true if successful false otherwise Parameter sMeasure - Measure name used to identify the measure when calling additional measure functions and when analyzing the results written to both the results repository and individual result filesExample MeasureStart (“<StringName>”);
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>”)
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.
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: • E-business Vuser : For Web (HTTP,HTML), Corba-Java, General-Java, LDAP, POP3, COM/DCOM, Jolt, LDAP, POP3 and FTP protocols. • Middleware Vuser : For Jolt, and Tuxedo(6.0, 6.3) protocols. • ERP Vuser : For SAP, Baan, Oracle NCA, Peoplesoft (Tuxedo or Web) and Siebel protocols. • Client/Server Vuser : For Informix, MSSQLServer, ODBC, Oracle (2-tier), Sybase Ctlib, Sybase Dblib, and Windows Sockets protocols. • LegacyVuser : For Terminal Emulation (RTE). • GeneralVuser : For C template, Java template, and Windows Sockets type scripts.
Course Content • Profiles for both Record and Replay Setting • Script Setting • Simulation Setting • Result Setting • Internet • Web • Terminal Client • Script • BDL (Benchmark Description Language • Record • Preparing the Workbench • Projects • Protocols • Profiles • Scripts • Include Files • Data Files • Agents • Work Loads
Course Content • Work Load • Increasing • Steady State • Dynamic • All Day • Queuing • Distributing Load • With same IP address • With Different IP Address • Script Cont. • Replay • Parameterization • Correlation • Auto • Manual • Applying Transaction
Course Content • Analysis • Summary • Transaction Response Time • Hits per sec • Throughput • Errors • Page break down • Work Load Cont. • Monitors
Comments & Queries- Queries are always welcome. Contact for any clarification sriramank@softsmith.com or webinargold@softsmith.com Ph. +91 9448613686
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