benchmarking performance and scalability with web stress

20
WebStress Academy Bill McCormick & Pat McGibbon Global Summit 2011

Upload: intersystems-corporation

Post on 30-May-2015

326 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Benchmarking Performance and Scalability with Web Stress

WebStress Academy

Bill McCormick & Pat McGibbonGlobal Summit 2011

Page 2: Benchmarking Performance and Scalability with Web Stress

WebStress Academy

• Agenda

– Introduce the tool

– Record a script

– Edit the script

– Randomization

– Define a test with more then one or more scripts

– Execute a benchmark run

– Validate the run

Page 3: Benchmarking Performance and Scalability with Web Stress

What is WebStress

• A utility being shipped as part of the product in 2011

• A tool that allows for recording http traffic between any client and server that supports running thru a proxy

• Allows for customizing and randomizing the data being utilizied from a given recorded base script

• Can play back multiple recordings simultaneously to simulate load and verify results, including performance metrics

Page 4: Benchmarking Performance and Scalability with Web Stress

Why WebStress?

• TrakCare performance evaluations required for certain bids

– Brisbane

– Edinburgh

• LoadRunner and other tools for this can be very expensive

• Managing CSP / Zen based applications requires a few little tricks to benchmark correctly

• Has been used in dozens of benchmarks since 2002

Page 5: Benchmarking Performance and Scalability with Web Stress

Some core concepts

• Controller

– Manages the playback of a test and gathers results

• Generator

– Machine that is executing the script and randomization logic during playback. Can be same machine as controller

• WebServer

– The URL that the application is running over. In the case of a Cache system it also allows us to connect to the server

• App Server

– The actual database being used by the test under Cache

Page 6: Benchmarking Performance and Scalability with Web Stress

Continued

• NoEncrypt Flag

– Sets the flag that allows benchmark recordings and playback to work on CSP / Zen based solutions

• No Delay

– For non page content ignore recorded delays

– js, html, css, jpg etc

• No Results

– For non page content ignore results

– js, html, css, jpg simulates cacheing

Page 7: Benchmarking Performance and Scalability with Web Stress

Continued

• Scripts

– A collection of http requests that from a UI perspective represent a “transaction” or “workflow”

• Tests

– A collection of scripts that when combined represent a “server usage profile”

• Save Page Source

– For verification purposes this will loop over a script and save the returned page content to a local directory

Page 8: Benchmarking Performance and Scalability with Web Stress

Recording

• WebStress has a facility that launches a listener on a defined port

• A browser for example can be configured to use this port as a proxy and we capture the output

• We will offer to set the no encrypt flag for a given cache service when the listener is launched

• The recorder also generates a routine for providing randomization logic

• Exercise 1

Page 9: Benchmarking Performance and Scalability with Web Stress

Customizing a Script

• Once a recording is completed we can edit it to change settings and values or completely randomize data being used

– Parameters

• These are name value pairs that were submitted via http

– Http Headers

• This is the information your browser added to the http request when it was POSTed or GET

– URLs

• These are the individual http requests captured. They can be removed or manually added

• Exercise 2

Page 10: Benchmarking Performance and Scalability with Web Stress

Creating a Test

• Controls the playback of the various scripts

– Scheduled

– Start now

– Run time

– Warm up / Cool down

– Using Delays

– Page Source

Page 11: Benchmarking Performance and Scalability with Web Stress

Tests Continued

• Adding Scripts

– Select a script

– Choose a Web Server

– Define the rate

• Sessions

• Processes

– URL Loopback

– Target

• Repeat as needed

Page 12: Benchmarking Performance and Scalability with Web Stress

Tests Continued

• Adding Scripts

– Select a script

– Choose a Web Server

– Define the rate

• Sessions

• Processes

– URL Loopback

– Target

• Repeat as needed

• Exercise 3

Page 13: Benchmarking Performance and Scalability with Web Stress

Running a Benchmark

• Preparing a Test

– Starts the processes on the Generator

– Starts the controller’s listener that drives the generators and collects the data

• Run the Test

– The Controller sends the start signal to the generators

– Results are ignored for the duration of the “warm up”

– Live results display on this page

• After the test

– Results are processed

– Jobs Halted

Page 14: Benchmarking Performance and Scalability with Web Stress

Running a Benchmark - Cont

• While the test is running you will see information on the current Rates Per Minute. These are color coded to indicate how close to your target for a given script you are doing.

• If you need to you can stop a test, adjust the settings for the Sessions and Processes and rerun the test again to aim closer to target

Page 15: Benchmarking Performance and Scalability with Web Stress

Continued

• Exercise 4

Page 16: Benchmarking Performance and Scalability with Web Stress

Debug Mode

• You have the option to run a script and have the returned pages be stored to disk. This is very handy for debugging a script and validating that things are performing correctly.

• To do this we specify the Source Directory and the Save Page Source options in the test settings.

• This creates a structure at that location that represents each script, and each time we looped thru the URLs

Page 17: Benchmarking Performance and Scalability with Web Stress

Continued

• Exercise 5

Page 18: Benchmarking Performance and Scalability with Web Stress

WebStress Summary

• Runs on 2011.1

• Can be used against any http based application

• Https not supported at this time

• Keep Alive must be disabled during recording

Page 19: Benchmarking Performance and Scalability with Web Stress

WebStress Academy

• Thank you

• Bill McCormick - [email protected]

• Pat McGibbon - [email protected]

• Iain Bray - Lead developer

Page 20: Benchmarking Performance and Scalability with Web Stress

WebStress Academy

Bill McCormickGlobal Summit 2011