Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add explanation for Websocket timeouts. #3536

Merged
merged 4 commits into from
Mar 13, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions docs/user-guide/api-mediation/configuration-connection-limits.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,37 @@
:::info Role: system programmer
:::

## TCP/IP Connection Limits

By default, the API Gateway accepts up to 100 concurrent connections per route, and 1000 total concurrent connections. Any further concurrent requests are queued until the completion of an existing request. The API Gateway is built on top of Apache HTTP components that require these two connection limits for concurrent requests.

Use the following procedure to change the number of concurrent connections.

1. Open the file `zowe.yaml`.
2. Find or add the property `components.gateway.server.maxConnectionsPerRoute` and set the value to an appropriate positive integer.
3. Find or add the property `components.gateway.server.maxTotalConnections` and set the value to an appropriate positive integer.
2. Find or add the property `zowe.components.gateway.server.maxConnectionsPerRoute` and set the value to an appropriate positive integer.
3. Find or add the property `zowe.components.gateway.server.maxTotalConnections` and set the value to an appropriate positive integer.

## Websocket Limits

The API Mediation Layer supports Websocket connections. It's possible to configure the limits around timeouts, all the values are in miliseconds. This may be relevant if you see problems for example around the usage of TN32790 terminal in Virtual Desktop.

```
zowe:
components:
gateway:
apiml:
server:
websocket:
connectTimeout: 15000
stopTimeout: 30000
asyncWriteTimeout: 60000
maxIdleTimeout:3600000
```

Use the following procedure to change the limits:

1. Open the file `zowe.yaml`.
balhar-jakub marked this conversation as resolved.
Show resolved Hide resolved
2. Find or add the property `zowe.components.gateway.apiml.server.websocket.connectTimeout` and set the value to an appropriate positive integer. This timeout limits how long the API Gateway waits untill it drops connection if it can't reach the target server.
balhar-jakub marked this conversation as resolved.
Show resolved Hide resolved
3. Find or add the property `zowe.components.gateway.apiml.server.websocket.` and set the value to an appropriate positive integer. This timeout handles how long the API Gateway waits before it fails on stop message for teh Websocket connection
balhar-jakub marked this conversation as resolved.
Show resolved Hide resolved
4. Find or add the property `zowe.components.gateway.apiml.server.websocket.` and set the value to an appropriate positive integer. This timeout handles how long it takes before the server fails with unsuccessful response when trying to write message to the Websocket connection.
balhar-jakub marked this conversation as resolved.
Show resolved Hide resolved
balhar-jakub marked this conversation as resolved.
Show resolved Hide resolved
5. Find or add the property `zowe.components.gateway.apiml.server.websocket.` and set the value to an appropriate positive integer. This timeout handles how long the Websocket connection remains open if there is no communication happening over the open connection.
Loading