benchmarking performance and scalability with web stress
TRANSCRIPT
![Page 1: Benchmarking Performance and Scalability with Web Stress](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/1.jpg)
WebStress Academy
Bill McCormick & Pat McGibbonGlobal Summit 2011
![Page 2: Benchmarking Performance and Scalability with Web Stress](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/15.jpg)
Continued
• Exercise 4
![Page 16: Benchmarking Performance and Scalability with Web Stress](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/17.jpg)
Continued
• Exercise 5
![Page 18: Benchmarking Performance and Scalability with Web Stress](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022052315/5569ec2fd8b42ac1468b4db6/html5/thumbnails/20.jpg)
WebStress Academy
Bill McCormickGlobal Summit 2011