Executing Load Test Programs
- 1 Introduction
- 2 Load Test (*.class) files.
- 3 Execute Load Test Steps in the Project Navigator
- 3.1 Execute LT Input Fields
- 3.2 Starting Exec Agent Jobs
- 3.3 Real-Time Job Statistics (Exec Agent Jobs)
- 3.4 Response Time Overview Diagrams (Real-Time)
- 3.4.1 Input Fields
- 3.5 URL Response Time Diagram (Real-Time)
- 3.5.1 Input Fields
- 3.5.1.1 Info Box / Measured Values
- 3.5.1 Input Fields
- 3.6 Error Overview Diagrams (Real-Time)
- 3.6.1 Input Fields
- 3.7 Statistical Overview Diagrams (Real-Time)
- 3.7.1 Real-Time Comments
- 3.8 Loading the Statistics File
- 4 Starting Cluster Jobs
- 5 Load Test Jobs Menu
- 6 Scripting Load Test Jobs
- 7 Rerunning Load Tests Jobs (Job Templates)
Introduction
Executing a Load Test is started in the Project Navigator. The icon to the right of the *.class files will have a red arrow.
The icon to the right of the Job Template (*.xml) files will have a green arrow and will directly open a Start Load Test Job, which is covered here towards the end of this page).
Load Test (*.class) files.
Execute Load Test Steps in the Project Navigator
After the Project Navigator has called the load test program, you must enter the test input parameters for the test run (a single execution of the load test program is also called “test run”).
The most important parameters are the Number of Concurrent Users and Load Test Duration. For short-duration Load Tests, Apica recommends 100% URL sampling. We also recommend entering a small comment about the test run into the Annotation input field.
If evaluating for browser performance, please select any Browser Emulation and Caching Options needed.
Execute LT Input Fields
Field | Description |
|---|---|
Save as template | Stores all load test input parameters additionally inside an XML template. Later, this template can be used to rerun (repeat) the same load test. |
Execute Test From | selects the Exec Agent or the Exec Agent Cluster from which the load test will be executed. |
Apply Execution Plan | Optionally, an Execution Plan can be used to control the number of users during the load test. The dropdown list shows the Execution Plans' Titles, extracted from all formal valid Execution Plan files (*.exepl files), located in the current Project Navigator directory. Note that the titles of invalid Execution Plan files are not shown. If an Execution Plan is selected, then the following input parameters are disabled: Number of Concurrent Users, Load Test Duration, Max. Loops per User, and Startup Delay per User. |
Number of Concurrent Users | The number of simulated, concurrent users. |
Load Test Duration | The planned duration of the load test job. If this time has elapsed, all simulated users will complete their current loop (repetition of web surfing session) before the load test ends. Thus the load test often runs a little bit longer than the specified test duration. |
Max. Loops per User | This limits the number of web surfing session repetitions (loops) per simulated user. The load test stops if the limit has been reached for each simulated user. Note: this parameter can be combined with the parameter "Load Test Duration" The limitation which first occurs will stop the load test. |
Pacing | Minimum Loop duration per User. Enabling this option sets a minimum time for all in the iteration executed page breaks and URL calls which must be elapsed before the next iteration starts. |
Startup Delay per User | The delay time to start an additional concurrent user (startup ramp of load). Used only at the start of the load test during the creation of all concurrent users. |
Max. Network Bandwidth per User | The network bandwidth limitation per simulated user for the downlink (speed of the network connection from the webserver to the web browser) and the uplink (speed of the network connection from the web browser to the webserver). By choosing a lower value than "unlimited," this option allows simulating web users with a slow network connection. |
Request Timeout per URL | The timeout (in seconds) per single URL call. If this timeout expires, the URL call will be reported as failed (no response from the webserver). Depending on the corresponding URL's configured failure action, the simulated user will continue with the next URL in the same loop, or it will abort the current loop and then continue with the next loop. |
Max. Error-Snapshots | Limits the maximum number of error snapshots taken during load test execution. The maximum memory used to store error snapshots can be configured (recommended - for cluster jobs: value overall cluster members). The maximum number of error snapshots per URL can be configured (not recommended for cluster jobs: value per Exec Agent). |
Statistic Sampling Interval | statistic sampling interval during the load test in seconds (interval-based sampling). Used for time-based overall diagrams like, for example, the measured network throughput. If you run a load test over several hours, you must increase the statistic sampling interval to 10 minutes (600 seconds) to save memory. If the load test runs only some minutes, you may decrease the statistic sampling interval. |
Additional Sampling Rate per Page Call | Captures the measured response time of a web page when a simulated user calls a web page (event-based sampling). Used to display the response time diagrams in real-time and in the Analyse Load Test Details menu. For endurance tests over several hours, it is strongly recommended that the sampling rate for web pages is set between 1% and 5%. For shorter tests, a 100% sampling rate is recommended. For endurance tests over several hours, Apica strongly recommends setting the sampling rate for web pages between 1% and 5%. We recommend a 100% sampling rate for shorter tests. |
Additional Sampling Rate per URL Call | captures the measured response time of a URL each time when a simulated user calls a URL (event-based sampling). Used to display the response time diagrams in real-time and in the Analyse Load Test Details menu. For endurance tests over several hours, Apica strongly recommends either disabling the sampling rate for URL calls or setting them to 1% or 2%. We recommend a 100% sampling rate for shorter tests. |
In addition to capturing the URL calls' response time, further data can be captured using one of the Add options. Hint: these additional URL data can be displayed and/or exported in the form of an HTML table when the test run has been completed. | --- recommended: no additional data are captured Warning: capturing additional URL data takes much memory and also uses much CPU. Therefore the test duration should not exceed 15 minutes if you use one of these add-options in combination with a 100% sampling rate per URL call. Reducing the sampling rate to 10% may allow a load test duration of up to 30 minutes. |
Debug Options Choosing any debug option (other than "none") affects that additional information is written to the *.out file of the load test job. The following debug options can be configured: | none - recommended |
Additional Options Several additional options for executing the load test can be combined by adding a blank character between each of the options. The following additional options can be configured. | -multihomed Note 1: It could be needed that TLS SNI (Server Name Indication) must be disabled if a DNS translation table is used. Note 2: The HTTP request header field "Host" is not updated, so that you could call the Web server with the wrong hostname. -dnssrv <IP-name-server-1>[,<IP-name-server-N>] -dnsperloop |
SSL: specifies which HTTPS/SSL protocol version should be used: | All: Automatic detection of the SSL protocol version. ZebraTester prefers the TLS 1.3 or TLS 1.2 protocol, but if the Web server does not support this, TLS 1.1, TLS 1.0, or SSL v3 is used. This is the normal behavior that is implemented in many Web browser products. v3: Fixes the SSL protocol version to SSL v3. |
Browser Emulation User-Agents and Caching |
|
Annotation | Enter a short comment about the test run, such as purpose, current web server configuration, and so on. This annotation will be displayed on the result diagrams. |
Starting Exec Agent Jobs
If you have specified that a single Exec Agent executes the load test program (but not by an Exec Agent Cluster), the load test program is transmitted to the local or remote Exec Agent, and a corresponding load test job - with a job number - is created locally within the Exec Agent. The job is now in the state “configured”; that is, ready to run, but the job is not yet started.
Hint: each Exec Agent always executes load test jobs as separate background processes and can execute more than one job at the same time. The option Display Real-Time Statistic only means that the GUI opens an additional network connection to the Exec Agent, which reads the real-time data directly from the corresponding executed load test program's memory space.
Click the Start Load Test Job button to start the job.
If you have de-selected the checkbox Display Real-Time Statistic, the window will close after a few seconds; however, you can - at any time - access the real-time statistic data, or the result data, of the job by using the Jobs menu, which can be called from the Main Menu and also from the Project Navigator.
Alternatively, the load test program can also be scheduled to be executed at a predefined time. However, the corresponding Exec Agent process must be available (running) at the predefined time because the scheduling entry is stored locally inside the Exec Agent jobs working directory, which the Exec Agent itself monitors. Especially if you have started the local Exec Agent implicitly by using the ZebraTester Console - AND if the scheduled job should run on that local Exec Agent, you must keep the ZebraTester Console Window open so that the job will be started ¹.
¹ This restriction can be avoided by installing the Exec Agent as a Windows Service or as a Unix Daemon (see Application Reference Manual).
Note: if you close the window without clicking on the Start Load Test Job button, the job remains in the state "configured" or “scheduled.” Afterward, you can use the Load Test Jobs menu to start or delete the job or schedule or cancel this job schedule.
Real-Time Job Statistics (Exec Agent Jobs)
Real-time statistics shown in this window are updated every 5 seconds for as long as the load test job is running.
Note: closing this window will not stop the load test job. If you close this window, you can later acquire the load test result or return to this dialogue (if the load test is still running) by clicking on the Jobs icon in the Main Menu or the Project Navigator window.
You may abort a running load test job by clicking on the Job Actions button, which includes.
Abort Job: Aborting a job will take a few seconds because the job writes out the statistic result file (
*.prxres) before it terminates.Suspend Job
Increase Users
Decrease Users
Abort Increase/Decrease Users
Extend Test Duration
Reduce Test Duration
Item | Description |
|---|---|
<Exec Agent Name> or <Cluster Name> | The Exec Agent's name - or the Exec Agent Cluster's name - executes the load test job. |
Job <number> | Unique job ID (unique per Exec Agent, or unique cluster job ID). |
Real-Time Comment | If real-time comments are entered during test execution, these comments are later displayed inside all time-based diagrams of the load test result detail menu. |
Job Parameter | The name of the load test program and the program arguments - test input parameter. |
Diagram | Description |
|---|---|
Web Transaction Rate
| The Web Transaction Rate Diagram shows the actual number of (successful) completed URL calls per second, counted overall simulated users. By clicking on this diagram, the Response Time Overview Diagrams are shown.
|
Session Failures / Ignored Errors | The Session Failures / Ignored Errors Diagram shows the actual number of non-fatal errors (yellow bars) and the number of fatal errors (red bars = failed sessions) counted over all simulated users.
|
The Number of Users / Waiting Users Diagram shows the total number of currently simulated users (red bars) and the actual number of users who are waiting for a response from the webserver (purple bars). The users waiting for a response is a subset of the currently simulated users. By clicking on this diagram, the Statistical Overview Diagrams are shown.
|
More actual measurement details are available by clicking on the Detailed Statistic button. Especially, an overview of the current execution steps of the simulated users is shown:
The most relevant measured values of the URLs are shown for the selected page by clicking on the page's magnifier icon.
Using this menu, you can also display and analyze error snapshots by clicking on the magnifier icon next to the failure counter. In this way, you can begin analyzing errors immediately as they occur - during the running load test.
By clicking on a URL, the corresponding URL Response Time Diagram is shown.
All of these detailed data, including all error data, are also stored inside the final result file (.prxres), which can be accessed when the load test job has been completed.
Response Time Overview Diagrams (Real-Time)
Description: displays during the load test (at real-time) a diagram per web page about the measured response times.
Please consider that maybe only a fraction of the response times are shown, depending on the Additional Sampling Rate per Page Call, which was selected when the load test was started. For example, only every fifth response time is shown if the Additional Sampling Rate per Page Call was set to 20%.
Input Fields
| Allows to select the period, from the current time back to the past, are shown in the diagrams within the response times. |
| Allows selecting if the bars inside the diagrams are shown as average values or as max. values. Please note that there is only a difference between the max. values and the average values if multiple measured samples of the response time fall inside the same pixel (inside the same displayed bar):. |
Diagram | Description |
|---|---|
| The tables at the right side of the diagrams contain the response times for all URLs of the web page. Also, these response times are either average values or max. values, depending on the selection in the Time Bars drop-down list. However, these values are calculated since the load test was started and always "accurately" measured, which means that they do not depend on the value chosen for the "Additional Sampling Rate per Page Call." |
| You can click on a URL response time to show the corresponding URL Response Time Diagram. |
| On the left side inside the diagram, the web page's average response time is shown as red-colored text, calculated since the load test was started. But depending on the selected period, this value may not be displayed in every case. On the right side inside the diagram, the last measured value is shown. |
URL Response Time Diagram (Real-Time)
Description: displays during the load test (at real-time) the response times of a URL and also a summary diagram about the measured errors of the URL.
Please consider that maybe only a fraction of the response times are shown, depending on the Additional Sampling Rate per URL Call, which was selected when the load test was started. For example, only every fifth response time is shown if the "Additional Sampling Rate per URL Call" was set to 20%.
Input Fields
| Allows to select the period, from the current time back to the past, are shown inside the diagram within the response times. |
| Allows selecting if the bars inside the diagram are shown as average values or as max. values. Please note that there is only a difference between the max. values and the average values if multiple measured samples of the response time fall inside the same pixel (inside the same displayed bar). |
Info Box / Measured Values
All values in this infobox are calculated overall completed calls of the URL, measured since the load test was started. These values are always "accurately" measured, which means that they do not depend on the value chosen for the "Additional Sampling Rate per URL Call."
| the total number of passed calls for this URL. |
| the total number of failed calls for this URL. |
| the average size of the transmitted + received data per URL call. |
| the maximum response time ever measured. |
| the minimum response time ever measured. |
| the average time to open a new network connection to the webserver, measured for this URL. a blank /[ |
| the average time to transmit the HTTP request header + (optionally) the HTTP request content data (form data or file upload data) to the webserver, measured after the network connection was already established. |
| the average time for waiting for the first byte of the web server response (-header), measured since the request has (completely) transmitted to the webserver. |
| the average time for receiving the HTTP response header's remaining data, measured since the first byte of the response header was received. |
| the average time for receiving the response content data, for example, HTML data or the data of a GIF image. |
| the average response time for this URL. This value is calculated as \\. |
URL Errors / Real-Time Profile of Error Types: This diagram shows an overview of what kind of errors did occur for the URL at which time, measured since the load test was started. This "basic error information" is always "accurately" measured independently of the value chosen for the "Additional Sampling Rate per URL Call" - and captured in every case, also if no more memory is left to store full error snapshots.
Error Overview Diagrams (Real-Time)
Description: Displays during the load test (at real-time) an overview of all occurred errors.
Failure Diagrams: The first diagram shows an overview of what kind of errors did occur, counted overall URLs, and measured since the load test was started. This "basic error information" is always captured in every case, also if no more memory is left to store full error snapshots.
The succeeding diagrams, shown per web page, provide only information at which time errors occurred. The tables on the right side of the diagrams show the number of errors that did occur on the URLs of the web page. You can click on an error counter to show the error detail information (error snapshots) for the corresponding URL. First Error Snapshots: Displays a list of errors at first (at the start of the load test). By clicking on a magnifier icon, the corresponding error detail information (error snapshot) is shown.
Can't find what you're looking for? Send an E-mail to support@apica.io