Smarter by Design.Simpler for Business
lb timeouts
The lb timeouts command creates the timeout profiles that determine how long a vService will wait in the connection stages. Its panel equivalent is the Timeouts screen.
Command Summary
# Tab after the command
admin@TR7LBWAF01> lb timeouts
add delete list show update
admin@TR7LBWAF01> lb timeouts list # list all of them
admin@TR7LBWAF01> lb timeouts show <id> # show one
admin@TR7LBWAF01> lb timeouts add name <name> … # new profile
admin@TR7LBWAF01> lb timeouts update id <id> … # change
admin@TR7LBWAF01> lb timeouts delete <id> # delete
admin@TR7LBWAF01>
Required Fields
| Order | Field | Status | Value |
|---|---|---|---|
| 1 | name | Required | The name of the profile; it must be unique in the collection |
The Timeout Fields
All the fields take a value in seconds between 0 and 60000 and, when they are not given, they are applied with their defaults.
| Field | What it does | Default |
|---|---|---|
--connectTimeout | Determines how long will be waited in order to connect to the backend | 20 |
--clientTimeout | Determines how long will be waited for data to come from the client | 90 |
--serverTimeout | Determines how long will be waited for a response to come from the backend | 90 |
--httpRequestTimeout | Determines how long will be waited for the request headers to be completed | 30 |
--httpKeepaliveTimeout | Determines how long the connection will stay open while waiting for a new request | 120 |
--queueTimeout | Determines how long the request will wait in the queue when the backends are full | 60 |
--tunnelTimeout | Determines the idle time in the tunnel connections such as WebSocket | 120 |
--clientFIN | Determines how long will be waited after the client starts closing the connection | 3 |
--serverFIN | Determines how long will be waited after the backend starts closing the connection | 6 |
The tunnel and the server time are separated for the long-running work
WebSocket or long-running downloads are set with --tunnelTimeout, and the time in which the backend produces a response with --serverTimeout; confusing the two leads to unexpected disconnections.
Examples
# the server time is extended for the long-running reports
admin@TR7LBWAF01> lb timeouts add name report-service \
--connectTimeout 10 --serverTimeout 300 --clientTimeout 120 \
--httpRequestTimeout 15 --queueTimeout 30
# the tunnel time for websocket
admin@TR7LBWAF01> lb timeouts add name websocket-service --tunnelTimeout 3600
admin@TR7LBWAF01> lb service update id <vService> --timeout <profile>
admin@TR7LBWAF01> lb timeouts delete <id>
admin@TR7LBWAF01>
Things to Know
- A profile does not work on its own. The times are applied when the profile is bound to a vService with the
--timeoutfield. - Short times lead to early disconnection. In the services where the backend responds slowly,
--serverTimeoutshould be kept long enough. - The queue time depends on the limit profile.
--queueTimeoutcomes into play when the backends hit the connection limit in thelb limitsprofile. - The name is unique. A second profile with the same name cannot be created.
