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:
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¶
The following procedure explains how to change a server configuration:
- Click on the server to update in the servers list,
- Edit the input fields on the right (Protocol, host, port and authorization),
- 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¶
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:
- Click on the Add button,
- A new server
http://octoperf.com:80
is added to the list and selected, - Edit the input fields on the right (Protocol, host, port and authorization),
- Close the server panel by clicking on the Close
button positioned at the top right corner.
Remove Server¶
The following procedure explains how to remove a server configuration:
- Click on the server to remove in the servers list,
- 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 button to merge several servers into a single one:
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 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 button 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