Fortinet black logo

Administration Guide

HTTP/2 Test Case common options

HTTP/2 Test Case common options

Use this page as a generic for information that is common to all HTTP/2 case configurations. Anything specific to the case itself will be found within the case's page, i.e. HTTP/2 RPS test specifics will be found under the HTTP/2 RPS document page.

Settings Guidelines
Basic Information
Name Specify the case name, or just use the default. The name appears in the list of test cases.
Ping Server Timeout If a FortiTester connects to a DUT via a switch, the switch might cause a ping timeout, resulting in the test case failing to run. If this occurs, increase the timeout. The default is 15 seconds. The valid range is 0 to 600.
Note: You can disable this end-to-end connectivity test by entering a setting of 0. If the DUT is unable to return packets, it is recommended you do so.
Number of Samples Select the number of samples. The default is 20, which means the web UI will show the last 20 sample data (about 20 seconds) in the test case running page. You can select 20, 60, or 120.

Script Config

Select the script that will run before/after the test. To create a script, see Using script object templates.

Steady Duration Specify the test duration. The default is 10 minutes. The test stops automatically after the duration you specify.
Stopping Status in Second The maximum time out in seconds allotted for FortiTester to close all TCP connections after the test finishes.

DNS Host Group

Select the DNS host group to look up the IP address of a domain name. To create a DNS host group, see Creating DNS host group.

DUT Monitor

Select to monitor a FortiGate device under test (DUT). If selected, you can monitor the DUT from the DUT Monitor tab on the management interface. To create a DUT monitoring, see Using DUT monitoring.

Network Settings
If you have selected a network config template, the network settings automatically inherit the configurations in the template. See Using network configuration templates for the description of network settings.
Load
Simulated Users

Number of users to simulate.

Simuser simulates a user processing through an Actions list one at a time. It allows you to determine the maximum number of concurrent users your device, infrastructure, or system can handle.

Ramp Up Time

The duration in seconds for which new sessions can be opened, attempting to reach the desired Connections per Second configured. (Range: 0 - 300).

Note: If FortiTester cannot reach the Connections per Second configured during the specified Ramp Up Time, it will keep the highest CPS it reached during the Ramp Up Time.

Ramp Down Time The duration in second during which the device ramps down the number of connections it is making. 0 will cause the FortiTester to cease generating sessions. (Range: 0 - 300).
HTTP Request Time Out An HTTP request timeout occurs when an HTTP request is issued, but no data is responded back from the server within a certain time (in seconds). The timeout usually indicates an overwhelmed server or reverse proxy, or an outage of the back-end transactions processing servers. FortiTester will reset the connection upon timeout.
Concurrent Requests per Connection Determines the maximum TCP connection establishment rate through or with the DUT/SUT. This test is intended to find the maximum rate the DUT/SUT can update its connection table.
Client Profile
Request Header The HTTP header of the request packet. Click the Add button to specify more headers. Wild card is supported.
Client Close Mode Select the connection close method: 3Way_Fin or Reset.

Send Goaway

The GOAWAY frame (type=0x7) is used to initiate shutdown of a connection or to signal serious error conditions.

Quiet Shutdown Enable to apply safe shutdown procedure to SSL connections by sending SSL alert to the peer.
PSK/SRP Enable to support PSK and SRP ciphers.
PSK/SRP Username Username for PSK and SRP ciphers.
PSK/SRP Password PSK/SRP for PSK and SRP ciphers.
Available SSL Versions Select SSL versions.
TLSv1.3 and other SSL versions are mutually exclusive. This means you can’t select TLSv1.3 at the same time with other SSL versions.
SSL Ciphers Select one or more SSL ciphers from the list.
Send TLS Extension SNI Enable to send a TLS SNI extension in the client's hello message to the server to indicate the name of the server to be connected.
Session Resumption
  • Disabled (turns off session resumption).
  • Resume Session by Ticket: Select this option to simulate a client presenting a ticket to a TLS server, having originated from that server, for the purpose of resuming a TLS session.
  • Resume Session by Session: Select this option to simulate a user attempting to use the same SSL Session ID, initially negotiated with the server.

This option applies only to TLS v1 and TLS v1.2. It does not apply to TLS v1.3.

Piggyback Get Requests If enabled, this means an acknowledgment is sent on the data frame, not in an individual frame. Otherwise, it sends an ACK frame individually. This feature only works with get/post requests.
Max Data Frame Size The maximum DATA frame payload size that the client can send in bytes.
Max Concurrent Streams per Connection The maximum concurrent streams per connection that the client allows the DUT to create.
Override Flow Control Select to enable the HTTP2 flow control fields, Connection Window Size, Stream Window Size, and Send WINDOW_UPDATE.
Connection Window Size The HTTP2 connection window size that the client can accept in bytes.
Stream Window Size The HTTP2 stream window size that the client can accept in bytes.
Send WINDOW_UPDATE when remaining window size below

Sends a WINDOW_UPDATE frame when the remaining window size that the server can accept is below the specified number of bytes.

This value should be smaller than Connection Window Size and Stream Window Size.
Allow Server Push

Select to allow the server to send additional resources to the client, before the client requests them. If deselected, the server sends resources only upon client request.

Allow Server Push only exists in Specifics->Client.
Source Port Range Specify a client port range. The valid range is 10,000 to 65,535, which is also the default.
IP Change Algorithm/Port Change Algorithm Select a change algorithm: Increment or Random. This setting determines how the system changes source/destination IP addresses and ports to simulate multiple client requests. The Increment option uses the next IP address or port in the range, for example: 10.11.12.1 -> 10.11.12.2; port 10000 -> 10001. The Random option selects an IP address or port in the range randomly.
Server Profile
Case Server Port The server port where the test case traffic arrives.
Protocol Level

In proxy mode, we can choose HTTP1.1 or HTTP/2 for server side.

  • HTTP1.1: This means DUT will convert HTTP/2 traffic to HTTP1.1 and forward it to the server.
  • HTTP/2: This means the backend server supports HTTP/2.
Response Header The HTTP header of the response packet. Click the Add button to specify more headers.
Certificate Select the certificates you have created in Performance Testing > Objects > Certificate Groups. If you have selected a certificate group in the Select case options window, then you are not allowed to select certificate here.
If you have selected ECDHE-ECDSA ciphers for the client, then you must reference an ECC certificate for the server, otherwise the SSL handshake will fail.
Enable SNI Enable to select the SNI certificate group that specifies a list of host names that the server will use to match the host name in the SNI extension of client hello message.
SNI Certificate Select the SNI Certificate created in Performance Testing > Objects > SNI.
Strict SNI Check When enabled, the transactions will be disconnected if the server can't find a certificate matched with the requested SNI host name.
When disabled, the default certificate will be used for the SSL encryption.
Session Resumption
  • Disabled (turns off session resumption).
  • Resume Session by Ticket: Select this option to simulate a client presenting a ticket to a TLS server, having originated from that server, for the purpose of resuming a TLS session.
  • Resume Session by Session: Select this option to simulate a user attempting to use the same SSL Session ID, initially negotiated with the server.
Max Data Frame Size The maximum DATA frame payload size that the server can send in bytes.
Max Concurrent Streams per Connection The maximum concurrent streams per connection that the server allows the DUT (device under test) to create.
Override Flow Control Select to enable the HTTP2 flow control fields, Connection Window Size, Stream Window Size, and Send WINDOW_UPDATE.
Connection Window Size The HTTP2 connection window size that the server can accept in bytes.
Stream Window Size The HTTP2 stream window size that the server can accept in bytes.

Send WINDOW_UPDATE when remaining window size below

Sends a WINDOW_UPDATE frame when the remaining window size that the client can accept is below the specified number of bytes.

This value should be smaller than Connection Window Size and Stream Window Size.
Client/Server TCP Options
TCP Receive Window The receive window in which you want the TCP stack to send TCP segments. The receive window informs the peer how many bytes of data the stack is currently able to receive. The supplied value is used in all segments sent by the stack. The valid range is 0 to 65535.
Delayed Acks Select to cause the TCP stack to implement the Delayed ACK strategy, which attempts to minimize the transmission of zero-payload ACK packets. Acknowledgments will be deferred and should be piggybacked on top of valid data packets. If successfully deferred, these acknowledgments are free, in the sense that they consume no additional bandwidth.
Delayed Ack Timeout If you select Delayed ACKs, use this timeout value to specify the maximum time the TCP stack waits to defer ACK transmission. If this timer expires, the stack transmits a zero-payload acknowledgment.
Timestamps Option Select to add a TCP time stamp to each TCP segment.
Enable Push Flag Select to set the TCP PSH (push) flag in all TCP packets. This flag causes buffered data to be pushed to the receiving application. If deselected, the PSH flag is not set in any TCP packet.
SACK Option Select to enable TCP Selective Acknowledgment Options(SACK).
Enable TCP Keepalive Select to enable TCP Keep-alive Timer.
Keepalive Timeout If you enable TCP Keepalive, use this timeout value to specify the maximum time to send your peer a keep-alive probe packet
Keepalive Probes If you enable TCP Keepalive, use this value to specify the maximum probes to detect the broken connection.
Override Internal Timeout Calculation Select to override the TCP stack calculation of the retransmission timeout value.
Retransmission Timeout If you select Override Internal Timeout Calculation, use this value for the first transmission of a particular data or control packet; it is doubled for each subsequent retransmission.
Retries The number of times a timed-out packet is retransmitted before aborting further retransmission. If the client does not receive a response after the configured number of retries have been attempted, the error is logged in the results. CSV file as a TCP timeout when a SYN or FIN is sent, and no SYN/ACK or FIN/ACK from the server is received.

FinACK Timer

This value measures the amount of time that a SimUser waits after it finishes its actions and before it directly breaks all of its TCP connections (that is, the time to wait to receive the LAST_ACK message for a FIN request). A value of 0 disables the timer.

Note: Setting this timer can adversely affect TCP performance.

Client/Server Network
Network MTU The maximum transmission unit size.
Network MSS The maximum segment size. If MSS is bigger than the MTU, IP fragmentation will be triggered conditionally.
IP Option DSCP Provide quality of service (QoS).
Client Limit
Bandwidth Bandwidth in Mbps. The default is 0, which means the device will send traffic as fast as possible.
Packets per Second Rate of the packets per second. The default is 0, which means the device will create transactions as fast as possible.
Transactions per Second Rate of new transactions per second. The default is 0, which means the device will send traffic as fast as possible.
Available only under Client tab.
Server Limit
Bandwidth Bandwidth in Mbps. The default is 0, which means the device will send traffic as fast as possible.
Packets per Second Rate of the packets per second. The default is 0, which means the device will create transactions as fast as possible.
Action
Method

Three methods are available here: GET, POST, and Custom.

If you select Custom, you can URL Group to configure/reuse a URL host group object of up to 1000 URLs.

To configure a URL Group object, go to Performance Testing > Objects > URL Groups.

Note: You can add URL Group hosts using existing Host Groups.

After being created, this imported Host Group has no relationship with the URL Group anymore.

Request Page Select System Pages with Fixed or Random File Name and Content.
Get page Select the file that the simulated clients access. Optionally, you can select Custom to choose the file template you have created in Cases > Performance Testing > Objects > Files.
Post page Select the file that simulated servers response. You can edit the post parameters. The file size limit is 10MB.
Response pages The size of the response.
Available only when Method is Custom.
Success criteria Select criteria to determine if the test succeeds or fails. If the test does not meet the criteria set, the test fails. See Using success criteria.

HTTP/2 Test Case common options

Use this page as a generic for information that is common to all HTTP/2 case configurations. Anything specific to the case itself will be found within the case's page, i.e. HTTP/2 RPS test specifics will be found under the HTTP/2 RPS document page.

Settings Guidelines
Basic Information
Name Specify the case name, or just use the default. The name appears in the list of test cases.
Ping Server Timeout If a FortiTester connects to a DUT via a switch, the switch might cause a ping timeout, resulting in the test case failing to run. If this occurs, increase the timeout. The default is 15 seconds. The valid range is 0 to 600.
Note: You can disable this end-to-end connectivity test by entering a setting of 0. If the DUT is unable to return packets, it is recommended you do so.
Number of Samples Select the number of samples. The default is 20, which means the web UI will show the last 20 sample data (about 20 seconds) in the test case running page. You can select 20, 60, or 120.

Script Config

Select the script that will run before/after the test. To create a script, see Using script object templates.

Steady Duration Specify the test duration. The default is 10 minutes. The test stops automatically after the duration you specify.
Stopping Status in Second The maximum time out in seconds allotted for FortiTester to close all TCP connections after the test finishes.

DNS Host Group

Select the DNS host group to look up the IP address of a domain name. To create a DNS host group, see Creating DNS host group.

DUT Monitor

Select to monitor a FortiGate device under test (DUT). If selected, you can monitor the DUT from the DUT Monitor tab on the management interface. To create a DUT monitoring, see Using DUT monitoring.

Network Settings
If you have selected a network config template, the network settings automatically inherit the configurations in the template. See Using network configuration templates for the description of network settings.
Load
Simulated Users

Number of users to simulate.

Simuser simulates a user processing through an Actions list one at a time. It allows you to determine the maximum number of concurrent users your device, infrastructure, or system can handle.

Ramp Up Time

The duration in seconds for which new sessions can be opened, attempting to reach the desired Connections per Second configured. (Range: 0 - 300).

Note: If FortiTester cannot reach the Connections per Second configured during the specified Ramp Up Time, it will keep the highest CPS it reached during the Ramp Up Time.

Ramp Down Time The duration in second during which the device ramps down the number of connections it is making. 0 will cause the FortiTester to cease generating sessions. (Range: 0 - 300).
HTTP Request Time Out An HTTP request timeout occurs when an HTTP request is issued, but no data is responded back from the server within a certain time (in seconds). The timeout usually indicates an overwhelmed server or reverse proxy, or an outage of the back-end transactions processing servers. FortiTester will reset the connection upon timeout.
Concurrent Requests per Connection Determines the maximum TCP connection establishment rate through or with the DUT/SUT. This test is intended to find the maximum rate the DUT/SUT can update its connection table.
Client Profile
Request Header The HTTP header of the request packet. Click the Add button to specify more headers. Wild card is supported.
Client Close Mode Select the connection close method: 3Way_Fin or Reset.

Send Goaway

The GOAWAY frame (type=0x7) is used to initiate shutdown of a connection or to signal serious error conditions.

Quiet Shutdown Enable to apply safe shutdown procedure to SSL connections by sending SSL alert to the peer.
PSK/SRP Enable to support PSK and SRP ciphers.
PSK/SRP Username Username for PSK and SRP ciphers.
PSK/SRP Password PSK/SRP for PSK and SRP ciphers.
Available SSL Versions Select SSL versions.
TLSv1.3 and other SSL versions are mutually exclusive. This means you can’t select TLSv1.3 at the same time with other SSL versions.
SSL Ciphers Select one or more SSL ciphers from the list.
Send TLS Extension SNI Enable to send a TLS SNI extension in the client's hello message to the server to indicate the name of the server to be connected.
Session Resumption
  • Disabled (turns off session resumption).
  • Resume Session by Ticket: Select this option to simulate a client presenting a ticket to a TLS server, having originated from that server, for the purpose of resuming a TLS session.
  • Resume Session by Session: Select this option to simulate a user attempting to use the same SSL Session ID, initially negotiated with the server.

This option applies only to TLS v1 and TLS v1.2. It does not apply to TLS v1.3.

Piggyback Get Requests If enabled, this means an acknowledgment is sent on the data frame, not in an individual frame. Otherwise, it sends an ACK frame individually. This feature only works with get/post requests.
Max Data Frame Size The maximum DATA frame payload size that the client can send in bytes.
Max Concurrent Streams per Connection The maximum concurrent streams per connection that the client allows the DUT to create.
Override Flow Control Select to enable the HTTP2 flow control fields, Connection Window Size, Stream Window Size, and Send WINDOW_UPDATE.
Connection Window Size The HTTP2 connection window size that the client can accept in bytes.
Stream Window Size The HTTP2 stream window size that the client can accept in bytes.
Send WINDOW_UPDATE when remaining window size below

Sends a WINDOW_UPDATE frame when the remaining window size that the server can accept is below the specified number of bytes.

This value should be smaller than Connection Window Size and Stream Window Size.
Allow Server Push

Select to allow the server to send additional resources to the client, before the client requests them. If deselected, the server sends resources only upon client request.

Allow Server Push only exists in Specifics->Client.
Source Port Range Specify a client port range. The valid range is 10,000 to 65,535, which is also the default.
IP Change Algorithm/Port Change Algorithm Select a change algorithm: Increment or Random. This setting determines how the system changes source/destination IP addresses and ports to simulate multiple client requests. The Increment option uses the next IP address or port in the range, for example: 10.11.12.1 -> 10.11.12.2; port 10000 -> 10001. The Random option selects an IP address or port in the range randomly.
Server Profile
Case Server Port The server port where the test case traffic arrives.
Protocol Level

In proxy mode, we can choose HTTP1.1 or HTTP/2 for server side.

  • HTTP1.1: This means DUT will convert HTTP/2 traffic to HTTP1.1 and forward it to the server.
  • HTTP/2: This means the backend server supports HTTP/2.
Response Header The HTTP header of the response packet. Click the Add button to specify more headers.
Certificate Select the certificates you have created in Performance Testing > Objects > Certificate Groups. If you have selected a certificate group in the Select case options window, then you are not allowed to select certificate here.
If you have selected ECDHE-ECDSA ciphers for the client, then you must reference an ECC certificate for the server, otherwise the SSL handshake will fail.
Enable SNI Enable to select the SNI certificate group that specifies a list of host names that the server will use to match the host name in the SNI extension of client hello message.
SNI Certificate Select the SNI Certificate created in Performance Testing > Objects > SNI.
Strict SNI Check When enabled, the transactions will be disconnected if the server can't find a certificate matched with the requested SNI host name.
When disabled, the default certificate will be used for the SSL encryption.
Session Resumption
  • Disabled (turns off session resumption).
  • Resume Session by Ticket: Select this option to simulate a client presenting a ticket to a TLS server, having originated from that server, for the purpose of resuming a TLS session.
  • Resume Session by Session: Select this option to simulate a user attempting to use the same SSL Session ID, initially negotiated with the server.
Max Data Frame Size The maximum DATA frame payload size that the server can send in bytes.
Max Concurrent Streams per Connection The maximum concurrent streams per connection that the server allows the DUT (device under test) to create.
Override Flow Control Select to enable the HTTP2 flow control fields, Connection Window Size, Stream Window Size, and Send WINDOW_UPDATE.
Connection Window Size The HTTP2 connection window size that the server can accept in bytes.
Stream Window Size The HTTP2 stream window size that the server can accept in bytes.

Send WINDOW_UPDATE when remaining window size below

Sends a WINDOW_UPDATE frame when the remaining window size that the client can accept is below the specified number of bytes.

This value should be smaller than Connection Window Size and Stream Window Size.
Client/Server TCP Options
TCP Receive Window The receive window in which you want the TCP stack to send TCP segments. The receive window informs the peer how many bytes of data the stack is currently able to receive. The supplied value is used in all segments sent by the stack. The valid range is 0 to 65535.
Delayed Acks Select to cause the TCP stack to implement the Delayed ACK strategy, which attempts to minimize the transmission of zero-payload ACK packets. Acknowledgments will be deferred and should be piggybacked on top of valid data packets. If successfully deferred, these acknowledgments are free, in the sense that they consume no additional bandwidth.
Delayed Ack Timeout If you select Delayed ACKs, use this timeout value to specify the maximum time the TCP stack waits to defer ACK transmission. If this timer expires, the stack transmits a zero-payload acknowledgment.
Timestamps Option Select to add a TCP time stamp to each TCP segment.
Enable Push Flag Select to set the TCP PSH (push) flag in all TCP packets. This flag causes buffered data to be pushed to the receiving application. If deselected, the PSH flag is not set in any TCP packet.
SACK Option Select to enable TCP Selective Acknowledgment Options(SACK).
Enable TCP Keepalive Select to enable TCP Keep-alive Timer.
Keepalive Timeout If you enable TCP Keepalive, use this timeout value to specify the maximum time to send your peer a keep-alive probe packet
Keepalive Probes If you enable TCP Keepalive, use this value to specify the maximum probes to detect the broken connection.
Override Internal Timeout Calculation Select to override the TCP stack calculation of the retransmission timeout value.
Retransmission Timeout If you select Override Internal Timeout Calculation, use this value for the first transmission of a particular data or control packet; it is doubled for each subsequent retransmission.
Retries The number of times a timed-out packet is retransmitted before aborting further retransmission. If the client does not receive a response after the configured number of retries have been attempted, the error is logged in the results. CSV file as a TCP timeout when a SYN or FIN is sent, and no SYN/ACK or FIN/ACK from the server is received.

FinACK Timer

This value measures the amount of time that a SimUser waits after it finishes its actions and before it directly breaks all of its TCP connections (that is, the time to wait to receive the LAST_ACK message for a FIN request). A value of 0 disables the timer.

Note: Setting this timer can adversely affect TCP performance.

Client/Server Network
Network MTU The maximum transmission unit size.
Network MSS The maximum segment size. If MSS is bigger than the MTU, IP fragmentation will be triggered conditionally.
IP Option DSCP Provide quality of service (QoS).
Client Limit
Bandwidth Bandwidth in Mbps. The default is 0, which means the device will send traffic as fast as possible.
Packets per Second Rate of the packets per second. The default is 0, which means the device will create transactions as fast as possible.
Transactions per Second Rate of new transactions per second. The default is 0, which means the device will send traffic as fast as possible.
Available only under Client tab.
Server Limit
Bandwidth Bandwidth in Mbps. The default is 0, which means the device will send traffic as fast as possible.
Packets per Second Rate of the packets per second. The default is 0, which means the device will create transactions as fast as possible.
Action
Method

Three methods are available here: GET, POST, and Custom.

If you select Custom, you can URL Group to configure/reuse a URL host group object of up to 1000 URLs.

To configure a URL Group object, go to Performance Testing > Objects > URL Groups.

Note: You can add URL Group hosts using existing Host Groups.

After being created, this imported Host Group has no relationship with the URL Group anymore.

Request Page Select System Pages with Fixed or Random File Name and Content.
Get page Select the file that the simulated clients access. Optionally, you can select Custom to choose the file template you have created in Cases > Performance Testing > Objects > Files.
Post page Select the file that simulated servers response. You can edit the post parameters. The file size limit is 10MB.
Response pages The size of the response.
Available only when Method is Custom.
Success criteria Select criteria to determine if the test succeeds or fails. If the test does not meet the criteria set, the test fails. See Using success criteria.