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. Go to Cases > Performance Testing > HTTP > CPS to display the test case summary page.
  2. Click + Create New to display the Select case options dialog box.
  3. In the popup dialog, for the Network Config option, select the network template you have created in Cases > Security Testing > Objects > Networks. Then the network related options will automatically be filled. See Using network configuration templates for how to create a network template.
  4. Click OK to continue.
  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 also 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.

HTTPS Tests Case common options

HTTP CPS Test Case specific to configuration

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.

If the user wants FortiTester to create connections as fast as possible, the user should set the Mode to Simulated Users.

What is the difference between Simuser and Connections/second?

Client Profile
Protocol Level Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will backward compatibility with HTTP 1.0.
Keep Alive Enable to add keepalive header.
Only available when HTTP 1.0 is selected in Protocol Level.
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.

Server Profile
Protocol Level Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will backward compatibility with HTTP 1.0.
Keep Alive Enable to add keepalive header.
Only available when HTTP 1.0 is selected in Protocol Level.
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 under Client 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.

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. Go to Cases > Performance Testing > HTTP > CPS to display the test case summary page.
  2. Click + Create New to display the Select case options dialog box.
  3. In the popup dialog, for the Network Config option, select the network template you have created in Cases > Security Testing > Objects > Networks. Then the network related options will automatically be filled. See Using network configuration templates for how to create a network template.
  4. Click OK to continue.
  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 also 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.

HTTPS Tests Case common options

HTTP CPS Test Case specific to configuration

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.

If the user wants FortiTester to create connections as fast as possible, the user should set the Mode to Simulated Users.

What is the difference between Simuser and Connections/second?

Client Profile
Protocol Level Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will backward compatibility with HTTP 1.0.
Keep Alive Enable to add keepalive header.
Only available when HTTP 1.0 is selected in Protocol Level.
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.

Server Profile
Protocol Level Select HTTP version. If you select different HTTP versions for client and server, HTTP 1.1 will backward compatibility with HTTP 1.0.
Keep Alive Enable to add keepalive header.
Only available when HTTP 1.0 is selected in Protocol Level.
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 under Client 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.