Skip to content

HTTP Action Servers

The server page lets you configure, in one place, the hostname of the application tested. In the Virtual User tree, you can then affect a server to each HTTP Request.

To open the servers page, simply click on the Configuration > Servers button in the Virtual User page or use the upper menu:

servers-menu

Server list

Server List

The left part of the page lists all the servers for the current project. Servers are common to all the VUs of a project. You can use the headers of this list to filter or sort it.

The right part displays the selected server configuration. It is only editable if a server is selected.

Update Server

Edit server

The following procedure explains how to change a server configuration:

  1. Click on the server to update in the servers list,
  2. Edit the input fields on the right (Protocol, host, port and authorization),
  3. Close the server panel by clicking on the Close button positioned at the top right corner.

For each server, you can edit:

Property name Description
Protocol HTTP or HTTPS
Hostname Domain name or IP address associated to the server machine
Port Usually 80 for HTTP protocol and 443 for HTTPS
Connection Timeout Duration to wait for a connection to open.
Response Timeout Duration to wait for a response. Note that this applies to each wait for a response. If the server response is sent in several chunks, the overall elapsed time may be longer than the timeout.

Note

If your response is split into several chunks, you can use a Duration Assertion instead of the response timeout. You can for example import this JMX and copy it into your virtual user.

Authorization

Authorization

The Authorization table lets you specify one or more user credentials for web pages that are restricted using:

Basic authentication

You see this type of authentication when you use your browser to access a restricted page, and your browser displays a login dialog box. OctoPerf transmits the login information when it encounters this type of page, using the Authorization header.

Column name Description
Base path Secured path of your server. E.g. / if all pages are restricted or /secured if only this sub-path is secured.
Username Username, you can inject a variable using the ${...} syntax, e.g. ${username}
Password Password, you can inject a variable using the ${...} syntax, e.g. ${username}

NT Lan Manager

NT LAN Manager (NTLM) is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users

Column name Description
Domain NTLM credentials are based on data obtained during the interactive logon process and consist of a domain name,
Username A user name,
Password And a password.

Kerberos

In order to use this protocol you need to upload a jaas.conf file and a krb5.conf file using the files manager. They will be uploaded to the proper folder of each load generator when the test starts: bin/.

Here's an example krb5.conf file:

[libdefaults]
default_realm = OCTOPERF.LOCAL

[realms]
OCTOPERF.LOCAL = {
        kdc = 
        admin_server = 172.0.0.1
}

[domain_realm]
172.0.0.1= OCTOPERF.LOCAL
.172.0.0.1= OCTOPERF.LOCAL

The rest of the configuration is done in OctoPerf's UI:

Column name Description
Domain Domain name.
Realm Real name.
Username Username, you can inject a variable using the ${...} syntax, e.g. ${username}
Password Password, you can inject a variable using the ${...} syntax, e.g. ${username}

Note

Kerberos configuration can be quite complex, you can find more a practical example in this blog post.

IP Spoofing

IP spoofing allows you to use multiple network interfaces to inject the load. This feature is only usable with on-premise agents.

Column name Description
Type IP / Hostname, Device, Device IPv4, Device IPv6
Source Source IP, Hostname or Device id (Example: 192.168.0.1, eth0, wlan0 etc.)

Source Address Type

To distinguish the source address value, select the type of these:

  • Select IP/Hostname to use a specific IP address or a (local) hostname,
  • Select Device to pick the first available address for that interface which this may be either IPv4 or IPv6,
  • Select Device IPv4 to select the IPv4 address of the device name (like eth0, lo, em0, etc.),
  • Select Device IPv6 to select the IPv6 address of the device name (like eth0, lo, em0, etc.).

Source Address Field

This property is used to enable IP Spoofing. It overrides the default local IP address for this sample. The JMeter host must have multiple IP addresses (i.e. IP aliases, network interfaces, devices). The value can be a host name, IP address, or a network interface device such as eth0 or lo or wlan0.

For more information, see JMeter HTTP Request documentation related to Source Address Type and Source Address Field.

Warning

Load generators monitoring for JMeter containers using IP spoofing is disabled because containers are running in host networking mode.

Add Server

The following procedure explains how to add a server configuration:

  1. Click on the Add button,
  2. A new server http://octoperf.com:80 is added to the list and selected,
  3. Edit the input fields on the right (Protocol, host, port and authorization),
  4. Close the server panel by clicking on the Close button positioned at the top right corner.

Remove Server

Remove server

The following procedure explains how to remove a server configuration:

  1. Click on the server to remove in the servers list,
  2. Click on the Delete button.

Info

You can use SHIFT + click or CTRL + click to select multiple servers and delete them all at once.

Warning

If a server is deleted, all associated HTTP Request Actions are also removed from their Virtual User. As servers are commons to all VUs of a project, server removal and update may affect VUs that you are not currently editing.

The goal of this feature is to easily remove irrelevant HTTP Request Actions from your imported VUs. Indeed when you import HAR/JMX files to create a Virtual User, many external requests may have been recorded. And you probably do not want to load test their infrastructure, so it is a good habit to remove servers that do not belong to you.

Merge servers

Simply click on the Replace servers merge button to merge several servers into a single one:

merge-wizard

Servers selected on the left hand section will be merged into the one selected in the right hand section.

Note

Merged servers are not removed automatically buy you can click the Delete Unused button to do so.

Remove Unused Servers

Simply click on the Delete Unused delete_unused button to remove all servers that are not used in ant HTTP request action.

Note

This operation removes unused servers in the whole project, not only in the current Virtual User.

Download Servers as CSV

Simply click on the Download as CSV download-csvbutton to download the list of servers as a CSV file.

The CSV file contains the protocol, hostname and port or each server, separated by a comma:

protocol,hostname,port
HTTP,petstore.octoperf.com,80
HTTPS,httpbin.org,443