Appendix E. Worker node configuration reference for mod_proxy_cluster
Appendix E. Worker node configuration reference for mod_proxy_cluster E.1. Worker node configuration Configuration values are sent to proxies under the following conditions: During server startup When a proxy is detected through the advertise mechanism During error recovery when a proxy's configuration is reset Table E.1. Proxy Configuration Values for Tomcat Value Default Description stickySession true Specifies whether subsequent requests for a given session should be routed to the same node, if possible. stickySessionRemove false Specifies whether the Apache HTTP Server proxy should remove session stickiness if the balancer is unable to route a request to the node to which it is stuck. This property is ignored if stickySession is false . stickySessionForce true Specifies whether the Apache HTTP Server proxy should return an error if the balancer is unable to route a request to the node to which it is stuck. This property is ignored if stickySession is false . workerTimeout -1 Specifies the number of seconds to wait for a worker to become available to handle a request. When all the workers of a balancer are unusable, mod_proxy_cluster will retry after a while ( workerTimeout / 100 ) to find an usable worker. A value of -1 indicates that the Apache HTTP Server will not wait for a worker to be available and will return an error if no workers are available. maxAttempts 1 Specifies the number of times the Apache HTTP Server proxy will attempt to send a given request to a worker before aborting. The minimum value is 1 : try once before aborting. flushPackets false Specifies whether packet flushing is enabled or disabled. flushWait -1 Specifies the time to wait before flushing packets. A value of -1 means wait forever. ping 10 Time to wait (in seconds) for a pong answer to a ping. smax Specifies the soft maximum idle connection count. The maximum value is determined by the Apache HTTP Server thread configuration ( ThreadsPerChild or 1 ). ttl 60 Specifies the time (in seconds) idle connections persist, above the smax threshold. nodeTimeout -1 Specifies the time (in seconds) mod_proxy_cluster waits for the back-end server response before returning an error. mod_proxy_cluster always uses a cping / cpong before forwarding a request. The connectiontimeout value used by mod_proxy_cluster is the ping value. balancer mycluster Specifies the name of the load-balancer. loadBalancingGroup Specifies the load balancing among jvmRoutes within the same load balancing group. A loadBalancingGroup is conceptually equivalent to a mod_jk domain directive. E.2. Proxy and proxy discovery configuration attributes for mod_proxy_cluster The following tables contain attributes and information about proxy and proxy discovery configuration attributes for mod_proxy_cluster . Table E.2. Proxy discovery configuration attributes for mod_proxy_cluster Attribute Property Default Value proxy-list proxyList proxy-url proxyURL advertise advertise true advertise-security-key advertiseSecurityKey excluded-contexts excludedContexts auto-enable-contexts autoEnableContexts true stop-context-timeout stopContextTimeout 10 seconds (in seconds) socket-timeout nodeTimeout 20 seconds (in milliseconds) Note When nodeTimeout is not defined, the ProxyTimeout directive, Proxy , is used. If ProxyTimeout is not defined, the server timeout ( Timeout ) is used (120 seconds by default in the JBCS httpd.conf). nodeTimeout , ProxyTimeout , and Timeout are set at the socket level. Table E.3. Proxy configuration attributes for mod_proxy_cluster Attribute Property Default Value sticky-session stickySession true sticky-session-remove stickySessionRemove false sticky-session-force stickySessionForce true node-timeout workerTimeout -1 max-attempts maxAttempts 1 flush-packets flushPackets false flush-wait flushWait -1 ping ping 10 (seconds) smax smax -1 (uses the default value) ttl ttl -1 (uses the default value) domain loadBalancingGroup load-balancing-group loadBalancingGroup E.3. Load configuration for Tomcat You can configure the following additional properties for load metrics when you want to use mod_proxy_cluster with Apache Tomcat. Table E.4. Load Configuration for Tomcat Attribute Default Value Description loadMetricClass org.jboss.modcluster.load.metric.impl.BusyConnectorsLoadMetric The class name of an object that is implementing org.jboss.load.metric.LoadMetric loadMetricCapacity 1 The capacity of the load metric defined via the loadMetricClass property loadHistory 9 The number of historic load values that must be considered in the load balance factor computation loadDecayFactor 2 The factor by which the historic load values decrease in significance