How to:
Reference: |
You can use the Web Console Record and Playback tools to record an exact sequence of user actions applied through a browser, and then reproduce it (play it back) to evaluate server response times in an environment that simulates single or multiple users under the same or different conditions. Files generated by record and playback, known as HTI scripts (HTTP internal scripts), are stored in the scale directory of the server (parallel to APPROOT). The file name can be edited before recording starts. These scripts, along with server traces, are used for testing and analysis of problems.
Record/Playback is an iterative process in which you can repeat your tests under varying conditions until you achieve the throughput and response time you require.
Tip: It is often useful to employ two browser windows for stress testing using the Record/Playback tool, one to turn the recording on and off and enter playback parameters, the second to capture the actions you wish to record. (Note that if you do not use two sessions, you will have to edit the request being stressed to remove the record/setup actions.)
In order to be able to capture these actions, you must properly configure your LAN setting.
Here is an overview of the steps:
Note: The Report/Playback feature is not currently supported on the PDS Deployment Server. Therefore, options are disabled on the Web Console.
When using an Reporting Server as a proxy, you can record user actions that are directed to any web site. In order to be able to record the sequence of actions that a user will complete using the browser, you must first enter the proper LAN settings.
Tip: Before you make the required changes, note your standard settings. You will want to revert to them later.
Leave the browser open since you will use it to display the Web Console.
The simplest way to record an HTI script is by running a stress test on a procedure. For information, see How to Run a Stress Test.
The Scalability tree opens in the navigation pane.
The Playback of HTI Script files pane opens.
A default directory name appears in the Script Directory drop-down list. You can use the default name, edit it, or choose an existing directory from the list.
You can choose basic and advanced test options from the Playback of HTI Script Files pane. For details about these options, see Parameters for Playback of HTI Script Files.
For example, you might wish to perform a stress test twice with the following conditions:
Test 1: Use the default Number of Threads (1) to simulate one user and the default Interval Parameters (.5) second to indicate how often you want the request to run. Enter a Test Description, such as Baseline with one user, to be able to distinguish among the tests. Click the Advanced tab and accept the default format of one file per thread. (In this case, you are only testing one thread.)
Click Start to run the test.
Test 2: Set Number of Threads to 30 to see how performance would be affected if 30 users ran the request simultaneously (with a given number of agents that may or may not be less that 30). This setting is key to stress testing. Adjusting the number of threads allows you to assess how many requests the server will be able to handle at a given point in time. Increasing the number of threads puts more load on the server(s). In practice, users may want to start out with a smaller or larger number depending on their installations. Keep the Interval Parameters as .5 seconds. Enter Sample 30 Users as the Test description.
Click the Advanced tab. This time select one file per request (rather than per thread) in the Results field and set the Keep alive parameter to 30 to indicate how long, in seconds, you want the script to run. This option enables enough statistics to be generated to make a comparison among server response times. (You may need to try different settings to find the optimal length of time to run the script.)
Click Start to run the test.
In each case, two files are stored in the ibi/scale/performance directory:
You can expand the Individual Tests folder and click a specific directory. A pop-up menu enables you to remove the selected directory or refresh it without having to refresh all of the other test directories.
A percentile is the point in a distribution of scores below which a given percentage of scores is found. When you perform a stress test you can calculate percentile statistics for processing time by specifying the percentage against which the percentile value will be derived.
You request percentile statistics from the Playback HTI Script Files pane, which you can access in either of the following ways:
As a diagnostics option:
The Percentile result, along with other test results, appears in a separate window.
When stress testing a particular procedure:
Following is a list of general playback parameters that are available.
Basic:
A positive number of threads to be used when playing the script. Each thread represents a single client (user).
Specifies timing in a multiple-client (multi-threaded) playback. Possible formats of this value are m or m, n, k, where m is the number of seconds between each client startup, and after each n started clients, an interval of k seconds is used instead.
Enables you to create notes at playback time that will be displayed in the Extended Report.
If you reset statistics, all information about previous runs is deleted, including any Test descriptions.
Tip: This description provides a useful way to distinguish results as you test different combinations of options.
Advanced:
Determines whether the response data received by all clients (threads) are identical. It uses a binary comparison mode and writes the comparison results to a playback log file.
Ignores every SLEEP and WAIT statement in the HTI script. Issues HTTP requests without any delay between them.
A percentile is the point in a distribution of scores below which a given percentage of scores is found. When you perform a stress test you can calculate percentile statistics for processing time by specifying the percentage against which the percentile value will be derived.
Enter a number N, between 1 and 99, to calculate the processing time in your stress test distribution against which N% of the other processing times are lower. For example, if the distribution of 6 processing times in a stress test includes the following values: 1-1-3-3-4-5, and the percentage value for Show Percentile Statistics is set to 50 (%), then the 50th percentile processing time will be 3 because that is the lowest value in the distribution against which 50% of the processing times are lower.
For related information, see How to Display Percentile Statistics in Results.
Displays general output file size statistics for multiple-client playback in the log.
These are useful for analyzing Playback results with a large number of threads. Size should be consistent between similar runs. A size change would generally indicate an execution failure.
Enables browser-style simulated caching of static pages (currently, css, js, gif, bmp, jpg, class and jar files). Each thread (simulated user) maintains its own cache of requests. When a cached static URL is requested again by the same user, the Stress tool skips the request instead of downloading the URL again.
Executes a request using deferred, rather than immediate, logic.
Choose this option to make statistics for the current run available on reports.
The statistics are saved internally in the $EDACONF/catalog directory as rec0001.hti, rec0001.log, and rec0001_0001.hto.
For example, if the script generated in a recording session has the name rec0001.hti, then the run log and statistics are stored in the rec0001.log file and the output generated by each of three threads is rec0001_0001.hto, rec0001_0002.hto, rec0001_0003.hto.
Sets the Playback utility traces on or off. A trace file (TRC) is then created for each thread.
Causes every thread to repeat a request for a specified time, in seconds. This option enables the server to generate enough statistics to make a comparison among response times.
The HTTPTST module that records and plays back Web Console sessions can simulate multiple client access to the Web Console on playback (that is, a multi-threaded application).
Each thread does what is recorded in the .hti file. The server reply is recorded in the .hto file. However, you can control the output provided by selecting one of the following options:
Number of successfully run threads :5
You can access this file by selecting Playback, Individual Tests, and then the script_directory folder in the format
scriptname--nnnn
where:
Is a number that is appended to the file name. It indicates the size of the generated file.
This option also generates a separate .hto file for each thread being tested; these files contain the code that renders the report. You can access these files by selecting Playback, Individual Tests, and then the script_directory folder in the format
scriptname_thread#_filesize
and view the contents in a text editor.
Number of successfully run threads :5
You can access this file by selecting Playback, Individual Tests, and then the script_directory folder in the format
scriptname--nnnn
where:
Is a number that is appended to the file name. It indicates the size of the generated file.
In addition to the summary file, the output for each request is written to the ibi/scale/performance directory in the format
scriptname_thread#_request#.ext
where:
Is determined by the nature of the request (for example, HTML), and by its success or failure (failure is often represented as a .txt file). For example:
rec0001_0002_0041.html
where:
Is the script name.
Is the thread number.
Is the request number.
Additional requests in the thread would be represented as:
rec0001_0002_0042.html rec0001_0002_0043.html
Sends request to a server defined in the odin.cfg file.
Send all requests through an HTTP proxy server. For example, www.myproxy.com:3192.
Saves output files, including traces, to a specified location (for example, c:\myfiles).
Playback log files are generated during script playback. Each file contains general information about playback processing, such as thread startup and termination, connection errors, and comparison results.
HTO file names are composed of the script file name, followed by the thread number and the .hto extension.
iWay Software |