PLUG-IN Parameters are
a. Maximum Web container threads, set on the Web container : maximum size of
the thread pool is set to 50
----> Minimum Thread Pool Size is 10
b. ConnectionIOTimeout, set on the HttpTransport : The default value is 5 seconds
c. ConnectionKeepAliveTimeout, set on the HttpTransport : This is the maximum time to wait for the next request on a KeepAlive connection.
-----> The default value is 5 seconds.
----> If the next request on this KeepAlive connection is not received within this time, the connection will be closed.
d. MaxConnectBacklog, set on the HttpTransport : The MaxConnectBacklog setting controls the number of such requests that get queued up before the plug-in is refused more connection requests.
----> If this number is exceeded, the requests from the plug-in will not be able to connect to
the HttpTransport port.
----> If not specified by the user, the default value of this parameter is 512.
-----> Example: If a Web container is configured for a maximum of 50 concurrent
threads and 512 requests in the backlog, we can have 512 + 50 = 562 concurrent
requests from the plug-in to port 9080. Fifty of these are in the application server
and the rest are waiting in the backlog’s FIFO queue in the OS kernel. If the 563
rd request from the plug-in comes into port 9080, it will be rejected and the plug-in
will get an ETIMEDOUT error in http_plugin.log.
e. MaxKeepAliveConnections, set on the HttpTransport : This parameter has been provided in the HttpTransport to improve performance by enabling reuse of HTTP connections that have already been established between the plug-in and the application server’s HttpTranport.
-----> It provides a performance boost because it prevents each new HTTP request from creating a
new connection (new connection creation has an overhead on the plug-in and
the HttpTransport). This is analogous to a JDBC connection pool, where a single
JDBC connection is used by many different requests.
----> The maximum number of concurrent KeepAlive connections across all the HTTP
transports in a Web container should be less than the maximum number of
concurrent threads allowed in that Web container
f. MaxKeepAliveRequests, set on the HttpTransport : This parameter specifies the maximum number of requests which can be processed on a single KeepAlive connection. This is an integer value which defaults to 100 if not specified by the user. Setting this property to a high value
provides better performance. Setting this property to a low value can help prevent denial of service attacks if a client tries to hold on to a KeepAlive connection indefinitely. This custom property is ignored if MaxKeepAliveConnections is equal to zero.
Parameters on the Web server side
a. OS parameter: TCP/IP timeout : When a TCP/IP client is not able to communicate with a TCP/IP server in the time specified by the TCP/IP timeout, that request is aborted. This is one of the ways in which a request from the plug-in (TCP/IP client) to the HttpTransport
(TCP/IP server) fails, thus marking that the application server down.
----> Once this setting is changed, it not only affects the plug-in, but also every other
TCP/IP client application running on that node.
b. Plugin-cfg.xml parameter ConnectTimeout : The ConnectTimeout attribute of a Server element allows the plug-in to perform non-blocking connections with the application server. Non-blocking connections are beneficial when the plug-in is unable to contact the destination to determine if the port is available or unavailable. If no ConnectTimeout value is specified, the
plug-in performs a blocking connect in which the plug-in sits until an operating
system times out and allows the plug-in to mark the server unavailable.
---> A value of 0 causes the plug-in to perform a blocking connect.
---> A value greater than 0 specifies the number of seconds you want the plug-in to wait for a successful connection.
----> If a connection does not occur after that time interval, the plug-in marks the server unavailable and fails over to one of the other servers defined in the server group.
c. Plugin-cfg.xml parameter RetryInterval : This attribute is added to ServerCluster tag in the plugin-cfg.xml file.
----> If the server or clone is marked down by the plug-in, the value of this parameter will
specify when the plug-in will retry that application server. If not specified by the
user, the default value is 60 seconds.
----> A higher value will cause an application server to be offline for a longer period of
time (in case it’s already recovered). A smaller value will cause new requests to
receive a delayed response more frequently if the application server is still down.