TCP Keep-Alives on CA API Gateway Appliances
search cancel

TCP Keep-Alives on CA API Gateway Appliances

book

Article ID: 12713

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

Where are the Keep-Alive setting configurations on the CA API Gateway appliances and what are the default values? 

Environment

All supported versions of the API Gateway

Resolution

There are three locations where you can configure TCP keepalives.

1) You can specify the TCP Keep-Alive settings on a specific port

2) You can specify the TCP Keep-Alive setting for a specific policy

3) You can configure TCP Keep-Alive globally via cluster-wide properties.

 

1) Port Specific 

You can configure the Keep-Alive timeout through the listen port on the Advanced tab. In the parameter section click add then the name will be "keepAliveTimeout" and the value will be any value in milliseconds you like. A note though that this will affect all connections to this port and you will need to be connected through the Policy Manager to a different port when making the change.

You can configure "MaxKeepAliveRequests" as well by adding to the parameter section, similar to "KeepAliveTimeout".

2) Policy Specific

You can check or uncheck the "Use Keep-Alive" check box from the "Route via HTTP(s)" assertion properties. The default is to use Keep-Alive

3) Globally (Disable or Enable)

You can enable "keep-alive" only when the io.httpDisableKeepAlive cluster property is at its default "false" setting. If that property was set to "true", then "keep-alives" are disabled globally and cannot be enabled for an individual HTTP routing. The default value is "false".

Additional Information

The default limit of outbound HTTP connections to a single host (even if it's outbound HTTP to an API on the gateway itself) is 750. You can modify this number by setting the following properties in the system.properties file and then restart the gateway service:

com.l7tech.common.http.prov.apache.CommonsHttpClient.maxConnectionsPerHost = 1500

com.l7tech.common.http.prov.apache.CommonsHttpClient.maxTotalConnections = 3000