book
Article ID: KB0084148
calendar_today
Updated On:
Description
Resolution:
As of GridServer 6, the web server Resin has been replaced by Tomcat 7. The following is some background information that will help you understand how to tune connection related parameters in GridServer 6 at the web server as well as at the application level:
In GridServer, the two default ports of interest are port 8000 and port 8080. Port 8080 is used for Admin UI and Engine Daemon Login. Port 8000 is used for resource download and all the communications between Broker to Drivers, Broker to Engines.
In the Tomcat server.xml that ships with GridServer, there are two connectors corresponding to ports 8000 and 8080. Each connector has a maxThread value that governs the maximum connection threads it can create. The total number of HTTP connector threads that are active at a given time is: Total HTTP connector threads = HTTP connector threads corresponding to port 8000 + HTTP connector threads corresponding to port 8080.
At the application level, GridServer allows the user to specify the Maximum Messaging Connections (mmc) and Maximum Resource Download Connections (mrdc). These parameters control the maximum number of HTTP connections that will be allowed for messaging and resource download. During a grid operation, if the maximum messaging connections or maximum resource download connections is reached, the GridServer application layer will ask the client to back off and retry after a few seconds.
It is important to note that setting mmc and mrdc at the application level does not control the maxThreads values at the web server level. However, mmc and mrdc should still be within the limit of what the web server can allow. Setting (mmc + mrdc) to an arbitrarily high value will not be beneficial because the number of HTTP connections is capped at the Tomcat level by the total HTTP connector threads. Setting maxThreads in server.xml to arbitrarily high values is also not recommended due to limits on system resources. As of this writing, a value of maxThreads=300 for HTTP connector corresponding to port 8000, should suffice for small to medium grid environments, while maxThreads=500 should suffice for medium to large grid environments.
However, optimal values for these parameters depend on the size of the grid and your system resource limits. Establishing optimal values needs a log analysis and some experimentation.
Issue/Introduction
Understanding HTTP connection threads and communication parameters in GridServer.