Saturday 24 November 2012

PLUG-IN PARAMETERS


   PLUG-IN PARAMETERS   

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. 

0 comments:

Post a Comment