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
All supported versions of the API Gateway
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.