Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

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 used to control number of users during the load test. The dropdown list shows the Titles of the Execution Plans, extracted from all formal valid Execution Plan files (*.exepl files) which are 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 reached for each simulated user.

Info

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.
If the iteration completes earlier than the pacing time, the user will be inactive until the pacing time has been reached.

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 web server to the web browser) and for the uplink (speed of the network connection from the web browser to the web server). By choosing a lover value than "unlimited", this option allows to simulate web users which have 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 web server). Depending on the configured failure action for the corresponding URL, 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. Either the maximum memory used to store error snapshots can be configured (recommended - for cluster jobs: value overall cluster members), or alternatively 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.

Note

If you run a load test over several hours, you must increase the statistic sampling interval up 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 each time when a simulated user calls a web page (event based sampling). Used to display the response time diagrams at real-time as well as 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 100% sampling rate is recommended.

Note

For endurance tests over several hours Apica strongly recommends setting the sampling rate for web pages between 1% and 5%. We recommend 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 at real-time as well as in the Analyse Load Test Details menu.

Note

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 100% sampling rate for shorter tests.

In addition to capturing the response time of the URL calls further data can be captured by using one of the Add options

Info

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

Performance Details per Call: additionally the TCP/IP socket open time (network establish time), the request transmit time, the response header wait time, the response header receive time and the response content receive time of all URL calls are captured.

TCP/IP Client Data: additionally the (load generator) TCP/IP client address, the TCP/IP client port, the network client-socket create date, the reuse count of the client-socket (keep-alive) and the SSL session ID (for encrypted connections only) are captured. This option includes also the option "Performance Details per Call".

Resp. Throughput Chart per Call: additionally in-depth throughput data of the received HTTP response content are captured and displayed as chart (stream diagram of response). This option includes also the option "Performance Details per Call".

Request Headers: additionally the request headers of all URL calls are captured. This option includes also the option "Performance Details per Call".

Request Content: additionally the request content data of all URL calls are captured. This option includes also the option "Performance Details per Call".

Request Headers & Content: additionally the request headers and request content data (form data) of all URL calls are captured. This option includes also the option "Performance Details per Call".

Response Headers: additionally the response headers of all URL calls are captured. This option includes also the option "Performance Details per Call".

Response Headers & Content: additionally the response headers and the response content data of all URL calls are captured. This option includes also the option "Performance Details per Call" and "Resp. Throughput Chart per Call".

All - But w/o Response Content: additionally the request headers, the request content data and the response headers of all URL calls are captured. This option includes also the option "Performance Details per Call" and "Resp. Throughput Chart per Call".

All - Full URL Snapshots: additionally all data of the URL calls are captured. This option includes also the option "Performance Details per Call" and "Resp. Throughput Chart per Call".

Note

Warning: capturing additional URL data takes much memory and uses also much CPU. Therefore the test duration should not exceed 15 minutes if you use one of these add-options in combination with 100% sampling rate per URL call. Reducing the sampling rate to 10% may allow a load test duration up to 30 minutes.

Debug Options

Choosing any debug option (other than "none") effects that additional information is written to the *.out file of the load test job. The following debug options can be configured:

none - recommended
Recommended default value. Note that error snapshots are still taken and therefore special debug options are normally not necessary to analyze a measured error.

debug failed loops
Write the performed execution steps of all failed loops to the *.out file of the load test job.

debug loops
Write the performed execution steps of all loops to the *.out file of the load test job.

debug headers & loops
Write additionally debug information about all transmitted and received HTTP headers to the *.out file of the load test job.

debug content & loops
Write additionally debug information about all transmitted and received content data to the *.out file of the load test job (without binary content data like images).

debug cookies & loops
Write additionally debug information about all transmitted and received cookies to the *.out file of the load test job.

debug keep-alive & loops
Write additionally debug information about the behavior of re-used network connections to the *.out file of the load test job.

debug SSL handshake & loops
Write additionally debug information about the SSL protocol and the SSL handshake to the *.out file of the load test job.

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
Initiates all Exec Agents to use multiple local IP addresses when executing a load test. This option allows to simulate traffic from more than one IP address per Exec Agent. This option is only considered if the Exec Agent supports a multihomed network configuration (several IP addresses, assigned to the same host). The first step to use this option is to configure on the level of the Windows or Unix operating system multiple IP addresses for the same host. The second step is to assign these IP addresses to the Exec Agent configuration. For the local host, where the Web Admin GUI is running, the second step can be done by calling the Setup menu inside the Project Navigator (gear-wheel icon at the top navigation). For remote Exec Agents, you have to edit the file javaSetup.dat which is located inside the ZebraTester installation directory - by modifying the value of the entry javaVirtualIpAddresses: enter all IP addresses of the host on the same line, separated by comma characters.
The effect of this option is that each concurrent user uses during the load test its own client IP address. If less IP addresses are available than concurrent users are running, the IP addresses are averaged across the users.

-ipperloop
Using this option in combination with the option -multihomed effects that a own local IP address is used for each executed loop rather than for each simulated user.
This option is considered only if also the option -multihomed is used.

-tconnect <seconds>
Set a timeout in seconds to open a TCP/IP socket connection to the Web server. If the time is exceeded the URL call is aborted and marked as failed. Note that the value must be greater than zero but should be less than "Request Timeout per URL".

-dnshosts <file-name>
Effects that the load test job uses an own DNS hosts file to resolve host names - rather than using the hosts file of the underlying operating system.
Note that you have to ZIP the hosts file together with the compiled class of the script. To automate the ZIP it's recommended to declare the hosts file as an external resource (w/o adding it to the CLASSPATH).

-dnstranslation <file-name>
Effects that the load test job uses a DNS translation file which is a text file that contains on each line a translation between two DNS names. If the first DNS name in the file match to the DNS name that is passed to the resolver then the second DNS name is used to resolve the IP address.
The first DNS name can also contain one or more wildcard characters ('*' = wildcard for multiple characters, '?' = wildcard for single character). Lines or a part of a line can be commented out by using the hash char '#'.

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 it might happen that you call the Web server with the wrong host name.
You have to ZIP the DNS translation file together with the compiled class of the script. To automate the ZIP it's recommended to declare the DNS translation file as an external resource (w/o adding it to the CLASSPATH).

-dnssrv <IP-name-server-1>[,<IP-name-server-N>]
Effects that the load test job uses specific (own) DNS server(s) to resolve host names - rather than using the DNS library of the underlying operating system.
When using this option, at least one IP address of a DNS server must be specified. Multiple DNS servers can be configured separated by commas. If a resolved DNS host name contains multiple IP addresses the stressed Web servers are called in a round-robin order (user 1 uses resolved IP Address no. 1, user 2 uses resolved IP Address no. 2, etc.).

-dnsenattl
Enable consideration of DNS TTL by using the received TTL-values from the DNS server(s).
This option cannot be used in combination with the option -dnsperloop.
Note: when using this option the resolved IP addresses (and therefore the stressed Web servers) may alter inside the executed loop of a simulated user at any time - suddenly from one URL call to the next one.

-dnsfixttl <seconds>
Enable DNS TTL by using a fixed TTL-value of seconds for all DNS resolves.This option cannot be used in combination with the option

-dnsperloop
Perform new DNS resolves for each executed loop. All resolves are stable within the same loop (no consideration of DNS TTL within a loop).
This option cannot be used in combination with the options -dnsenattl or -dnsfixttl.
Note: consider when using this option that the default or the configured DNS servers are stressed more than usual because each executed loop of each simulated user will trigger one or more DNS queries.

-dnsstatistic
Effects that statistical data about DNS resolutions are measured and displayed in the load test result, by using an own DNS stack on the load generators.
Note: there is no need to use this option if any other, more specific DNS option is enabled because all (other) DNS options also effect implicitly that statistical data about DNS resolutions are measured. If you use this option without any other DNS option, the (own) DNS stack on the load generators will communicate with the default configured DNS servers of the operating system - but without considering the "hosts" file.

-dnsdebug
Effects that debug information about the DNS cache and about DNS resolves is written to the stdout file (*.out) of the load test job.

-enableIPv6 [<network-interface-name>]
Enable IPv6 support only for load test execution (IPv4 disabled). Optionally you also can provide the IPv6 network interface name of the load generators(s), like "eno" for example.

-enableIPv6v4 [<network-interface-name>]
Enable both, IPv6 and IPv4 support for load test execution (first will try with IPv6, if fails will try with IPv4). Optionally you also can provide the IPv6 network interface name of the load generators(s), like "eno" for example.

-mtpu <number>
Allows to configure how many threads per simulated user are used to process URLs in parallel (simultaneously). Note: this value applies only for URLs which have been configured to be executed in parallel.

-nosdelayCluster
Effects for Cluster Jobs that the Startup Delay per User is applied per Exec Agent Job instead of applying it overall simulated users of the Cluster Job. Thus a faster ramp up of load can be achieved.

-setuseragent "<text>"
Replaces the recorded value of the HTTP request header field User-Agent with a new value. The new value is applied for all executed URL calls.

-noECC
Disable elliptic curves (ECC).

-sslcache <seconds>
Alters the timeout of the user-related SSL cache. The default value is 300 seconds. A value of 0 (zero) has the effect that the SSL cache is disabled.

-sslrandom <type>
Set the type of the random generator used for SSL handshakes. Possible options are "fast", "iaik" (default) or "java".

-sslcmode
Apply SSL/HTTPS compatibility workarounds for deficient SSL servers. You may try this option if you get constantly the error type "Network Connection aborted by Server" for all URL calls.

-nosni
Disable support for TLS server name indication (SNI).

-snicritical
Set the TLS SNI extension as critical (default: non-critical).

-tlssessiontickets
Set the TLS to use Session Tickets for session resuming (non-critical).

-iaikLast
Adds the IAIK security provider at the last position (instead of default: IAIK at first position).
Note: Adding the IAIK security provider at the last position may have the side effect that weak or short cypher keys are used.

-tz <timezone>
Sets an alternatively time zone which is used by the script. The default time zone is equal to the selection which has been made when installing ZebraTester, or - if modified subsequently - which has been set in the Personal Settings menu. Possible time zone values are described in chapter 6 of the Application Reference Manual.

-Xbootclasspath/a:<path>
Specify for the load test job a path of JAR archives and ZIP archives to append to the default bootstrap class path.

-Xbootclasspath/p:<path>
Specify for the load test job a path of JAR archives and ZIP archives to prepend in front of the default bootstrap class path.

-Xmx<megabytes>
Specify for the load test job the size of the Java memory in megabytes. Do not enter a space or a colon between the "-Xmx" and the value.
Note: this option can used only if the corresponding Exec Agent(s) also support this option, meaning that the Exec Agent(s) are started with the option -enableJobOverrideJavaMemory.

-nostdoutlog
Disable to write any data to the stdout file of the load test job.

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 this is not supported by the Web server, TLS 1.1, TLS 1.0 or SSL v3 is used. This is the normal behavior which is implemented in many Web browser products.

v3: Fixes the SSL protocol version to SSL v3.
TLS: Fixes the SSL protocol version to TLS 1.0.
TLS11: Fixes the SSL protocol version to TLS 1.1.
TLS12: Fixes the SSL protocol version to TLS 1.2.
TLS13: Fixes the SSL protocol version to TLS 1.3.

Browser Emulation

User Agents and Caching

  • User-Agent Selection: This option is used either to create a custom user agent string or select a user agent from the available list.

  • Browser Cache: This option emulates the cache setting of a real browser.

    • Check for newer versions of stored pages every time: when enabled, ZebraTester will check for later versions of the specified URL than those stored in the cache

    • Cache URLs with HTML Content: when enabled, ZebraTester will cache the HTML resources as well. You can decrease the memory footprint of each VU by unchecking this option

    • Simulate a new user each loop: when enabled, ZebraTester will create a new cache per loop.

🔴 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.

...

Real-time statistics shown in this window are updated every 5 seconds for as long as the load test job is running.

Note

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 in the Project Navigator window

...

Response Time (drop-down list)

Allows to select the period, from the current time back to the past, within the response times are shown in the diagrams.

Time Bars (drop-down list)

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

Image RemovedImage Added

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".

Image RemovedImage Added

You can click on a URL response time to show the corresponding URL Response Time Diagram

Image RemovedImage Added

On the left side inside the diagram, the average response time of the web page 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.

...

All failed URL Calls

effects that all errors about failed URL calls are shown (non-fatal and fatal errors).

Session Failures only

effects that only fatal errors about failed URL calls are shown (session failures).

Image RemovedImage Added

Error Snapshot Memory: % used +: By clicking on the + (plus sign), you can increase the amount of memory available to store error snapshots. Please Note: when the memory is already 50% or more used, no additional error snapshots for non-fatal errors are captured. This means that increasing the memory may also re-enable capturing for non-fatal errors.

...

Every time when a load test is started, an additional job definition template file is stored in the actual Project Navigator directory (in XML format). Such a job definition template file contain all configuration data which are needed to rerun the same load test job again.

...

Image RemovedIf you click the corresponding button of a job definition template (XML) file in Project Navigator, the load test job, inclusive of all of its input parameters, are is automatically transferred to the Exec Agent or to the Exec Agent Cluster and immediately ready-to-run.

...