Fortinet black logo

Administration Guide

Starting an HTTP CPS test

Starting an HTTP CPS test

FortiTester tests HTTP new connections per second (CPS) performance by simulating multiple clients that generate HTTP traffic.

The traffic generated for each connection includes the TCP three-way handshake, HTTP request and HTTP response (complete HTTP transaction), and the TCP connection close (FIN, ACK, FIN, ACK). Each TCP packet has one HTTP GET request. The traffic is HTTP 1.0 without HTTP persistent connections (HTTP keep-alive).

To start an HTTP CPS test:
  1. In Performance testing, expand HTTP and click CPS.
  2. Click Create New.
  3. Configure the network or select a network template. See Using network configuration templates for how to create a network template.
  4. Click OK.
  5. Configure the test case options described below.
  6. Click Start to run the test case.

FortiTester saves the configuration automatically so you can run the test again later. You can also click Save to save the test case without running it.

Tip 1: You can copy an existing case and change its settings to create a new case. In the case list, click Clone to clone the configuration. Only the case name is different from the original case.

Tip 2: You can add or edit a comment when the test is running. This comment can be used to search for the test result in the Results page. This is useful especially when the test runs for a long time.

HTTP CPS test case options

For details about the common options for HTTP cases, see HTTP Test Case common options.

Settings Guidelines
Load
Mode

Simuser: Simulated users. 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.
Connections/second: This mode simulates TCP connections, each of them containing up to hundreds of transactions. It's useful to test how many concurrent connections can be handled by your device.

NOTE: If you want FortiTester to create connections as fast as possible, set Mode to Simuser.

For more information, see What is the difference between Connections per Second and Simulated Users?

Client Profile
Protocol Level

Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will have backward compatibility with HTTP 1.0.

Keep Alive

Enable to add keepalive header.

Only available when Protocol Level is HTTP 1.0.

Piggyback Get Requests

If enabled, an acknowledgment is sent on the data frame, instead of in an individual frame. Otherwise, the client sends an ACK frame individually. This feature only works with GET and POST requests.

Server Profile
Protocol Level

Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will have backward compatibility with HTTP 1.0.

Keep Alive

Enable to add keepalive header.

Only available when Protocol Level is HTTP 1.0.

Client Limit
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 in Client > Limit tab.
Action
Response pages The size of the response.
Available only when Method is Custom.
HTTP Pipelining Available only when Method is Custom.
Generate Random Content
Enable to generate random content in response package.
Available only when Method is Custom.
Random Method Select to use which method to generate random content.

Randomize File Name and Content

Enable or disable the sending of a random file name and response body based on the user-uploaded file.

Starting an HTTP CPS test

FortiTester tests HTTP new connections per second (CPS) performance by simulating multiple clients that generate HTTP traffic.

The traffic generated for each connection includes the TCP three-way handshake, HTTP request and HTTP response (complete HTTP transaction), and the TCP connection close (FIN, ACK, FIN, ACK). Each TCP packet has one HTTP GET request. The traffic is HTTP 1.0 without HTTP persistent connections (HTTP keep-alive).

To start an HTTP CPS test:
  1. In Performance testing, expand HTTP and click CPS.
  2. Click Create New.
  3. Configure the network or select a network template. See Using network configuration templates for how to create a network template.
  4. Click OK.
  5. Configure the test case options described below.
  6. Click Start to run the test case.

FortiTester saves the configuration automatically so you can run the test again later. You can also click Save to save the test case without running it.

Tip 1: You can copy an existing case and change its settings to create a new case. In the case list, click Clone to clone the configuration. Only the case name is different from the original case.

Tip 2: You can add or edit a comment when the test is running. This comment can be used to search for the test result in the Results page. This is useful especially when the test runs for a long time.

HTTP CPS test case options

For details about the common options for HTTP cases, see HTTP Test Case common options.

Settings Guidelines
Load
Mode

Simuser: Simulated users. 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.
Connections/second: This mode simulates TCP connections, each of them containing up to hundreds of transactions. It's useful to test how many concurrent connections can be handled by your device.

NOTE: If you want FortiTester to create connections as fast as possible, set Mode to Simuser.

For more information, see What is the difference between Connections per Second and Simulated Users?

Client Profile
Protocol Level

Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will have backward compatibility with HTTP 1.0.

Keep Alive

Enable to add keepalive header.

Only available when Protocol Level is HTTP 1.0.

Piggyback Get Requests

If enabled, an acknowledgment is sent on the data frame, instead of in an individual frame. Otherwise, the client sends an ACK frame individually. This feature only works with GET and POST requests.

Server Profile
Protocol Level

Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will have backward compatibility with HTTP 1.0.

Keep Alive

Enable to add keepalive header.

Only available when Protocol Level is HTTP 1.0.

Client Limit
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 in Client > Limit tab.
Action
Response pages The size of the response.
Available only when Method is Custom.
HTTP Pipelining Available only when Method is Custom.
Generate Random Content
Enable to generate random content in response package.
Available only when Method is Custom.
Random Method Select to use which method to generate random content.

Randomize File Name and Content

Enable or disable the sending of a random file name and response body based on the user-uploaded file.