Keepalive and HTTP Concurrent Connections
search cancel

Keepalive and HTTP Concurrent Connections

book

Article ID: 232681

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

Two inquiries - 

1) Keepalive - 
As per the GW 9.4 documentation, we have a setting on the HTTP listener port to change the keepalive timeout (keepAliveTimeout= <new value in milliseconds> ). Is this setting only for version 9.4? This setting isn't referenced in the documentation for version 10.0 and version 10.1. 

The advanced property keepAliveTimeout was defined on a listen port in version 9.4 to 2000ms. However, there are still TCP connections left open for almost 60secs. 
https://techdocs.broadcom.com/us/en/ca-enterprise-software/layer7-api-management/api-gateway/10-1/security-configuration-in-policy-manager/tasks-menu-security-options/manage-listen-ports.html


2) HTTP Concurrency - 
There is an advanced Listener port concurrencyWarningThreshold property to enable the logging when the limit is exceeded. Is there any such parameter to generate a log when the HTTP Concurrency is exceeded on the global level? 
https://techdocs.broadcom.com/us/en/ca-enterprise-software/layer7-api-management/api-gateway/10-1/security-configuration-in-policy-manager/tasks-menu-security-options/manage-listen-ports/listen-port-properties.html

 

Environment

All supported versions of the API Gateway

Resolution

Keepalive

The setting does apply to later releases of the gateway and has the same configuration as Gateway 9.4. The settings are advanced third party configuration of tomcat. It has been removed from the docs of later releases but can still be used (tomcat).

All the tomcat connector properties should be able to be used as advanced properties of the gateway listener.

https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

 

keepAliveTimeout

The number of milliseconds this Connector will wait for another HTTP request before closing the connection. The default value is to use the value that has been set for the connectionTimeout attribute. Use a value of -1 to indicate no (i.e. infinite) timeout.

 

maxKeepAliveRequests

The maximum number of HTTP requests which can be pipelined until the connection is closed by the server. Setting this attribute to 1 will disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 will allow an unlimited amount of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100.

 

HTTP Concurrency 

request.http.concurrency will provide the current threads in use.

From the documentation there is a paragraph on usage:

However, threads processing at a high rate is difficult to capture.  Determining the correct values for your Gateway's concurrency requires a certain amount of trial and error.

https://techdocs.broadcom.com/us/en/ca-enterprise-software/layer7-api-management/api-gateway/10-1/reference/gateway-cluster-properties/input-output-cluster-properties.html