What is the vService Limits profile; what are the default limits?
Short answer
The vService Limits profile limits the number of concurrent connections of a vService, the rates of new connections and sessions per second, SSL connections, the number of retries for connecting to the Backend Service and the buffer size. The defaults are Max. Total Connections 20,000, Max. Failed Connection Retries 3, Max. New Connecions/s 5,000, Max. Connections/s 10,000, Max. Session Rate/s 10,000, Max. Total SSL Connections 5,000, Max. SSL Connections/s 2,000 and Buffer Size(kB) 128. vServices with no profile assigned work with these values. A change to Max. connections/s, Max. Session Rate/s, the two SSL fields and Buffer size(kB) restarts the vService.
How Does It Work?
The limits protect the vService itself and the Backend Services behind it from overload. When a limit is reached, new connections are not rejected; they are held without being accepted until the count drops below the limit. Existing connections are not cut (effects and behavior).
| Field | Default | What it limits |
|---|---|---|
| Max. Total Connections | 20,000 | The concurrent client connections of the vService (0–1,000,000,000 in the interface; at most 1,000,000 in the API and Web CLI) |
| Max. Failed Connection Retries | 3 | The number of retries when a connection to the Backend Service cannot be established (0–1,000) |
| Max. New Connecions/s | 5,000 | New connections accepted per second on the listener of the vService |
| Max. Connections/s | 10,000 | The connection rate per second across the whole vService |
| Max. Session Rate/s | 10,000 | The session rate per second across the whole vService |
| Max. Total SSL Connections | 5,000 | Concurrent encrypted connections |
| Max. SSL Connections/s | 2,000 | New encrypted connections per second |
| Buffer Size(kB) | 128 | The buffer per connection (16–262,144 kB, required) |
The spelling "connecions" in the field name is the same as the label in the interface.
The vService Limits Profile in TR7
- Where: The profile is created on the Load Balancer → Profiles → vService Limits screen (How to add) and selected in the vService Limits box in the Details panel of the vService (How to add to a vService).
- vService type: HTTP and L7 TCP; the Network vService does not have this box.
- Default: While the box is unchecked, the limits are not removed; the vService works with the default values (default profile behavior).
- Effect of the change: A change to Max. connections/s, Max. Session Rate/s, Max. Total SSL Connections, Max. SSL Connections/s and Buffer size(kB) restarts the vService, and open connections are dropped; Max. Total Connections, Max. Failed Connection Retries and Max. New Connecions/s are applied without dropping open connections (profile add form). If the profile is used in more than one vService, the change is reflected in all of them; first, the Used in tab in the preview is checked (Used in tab). In a cluster, it is also sent to the peer device with the default auto-sync; if Manual Sync Mode is on, it is sent with Synchronize.
- Monitoring: In the tooltip of the Current Sessions card in the Frontend section of Live Stats, the peak value and the defined upper limit are seen together.
- WEB-CLI: The profile is created with
lb limits add, and binding is done withlb service update id <vService> --poolLimits <profile>(WEB-CLI examples).
Common Misconceptions
- "Max. total connections is the limit of a single server." This field is the total of the vService; the per-server limit is the Connection Limit field in the Backend Service.
- "Max. new connecions/s and Max. connections/s are the same." The first is applied at the listener level, the second across the whole vService.
- "Max. failed connection retries disables the server." It only repeats the connection attempt; removing the server from traffic is the job of the Health Checks profile.
- "When the limit is reached, the client gets an error." New connections are held; the client sees this as slowness (What happens when the connection limit is reached?).
How it is done in the documentation
