On Thu, 2006-01-26 at 10:58 -0500, Jeff Roberts wrote:
> I get really confused about incoming and outgoing connections.  For instance, 
> "worker threads accessing this host" confuses me because I think of the 
> worker threads as being "downstream" on the Tomcats and of us accessing THEM. 
> I want to make sure I'm not missing something here.  

'worker threads accessing this host' = client-side threads executing
requests against the given host

> 
> If our service is receiving requests from w machines, sending them all 
> through x Apache servers (in our case x=1) and Apache is load-balancing those 
> requests over y Tomcats, each of which has a cachesize of 10, but we're only 
> wanting to fill up z=8 out of that 10, which of w,x,y and z should factor 
> into maxConnectionsPerHost and maxTotalConnections?
> 
> I'm being told here that w doesn't matter because the incoming requests will 
> just queue up, x doesn't really matter since it's always 1 for us, and so 
> just to set both parameters to y*z, or x*y*z in case we ever add more Apaches 
> to the setup.
> 
> In terms of those variables, do you agree, or do w and x come into it at all?
> 

I suspect you are confusing client-side connections (HttpClient) and
server-side connections (HTTPD/mod_jk/Tomcat). All you have to make sure
that the total number of client connections (maxTotalConnections) is
greater than the number of client-side worker threads and that the
number of connections per host (maxConnectionsPerHost) does not exceed
the maximum number of connections allowed by the server. 

This is not a Tomcat user list so I can only assist with the HttpClient
configuration.

Oleg

> ---
> J. Jeff Roberts
> [EMAIL PROTECTED]
> (859) 552-5806
> 
> On Thu, 26 Jan 2006 12:03 , Oleg Kalnichevski <[EMAIL PROTECTED]> sent:
> 
> >On Wed, 2006-01-25 at 13:54 -0500, Jeff Roberts wrote:
> >> OK, I think I understand what we're TRYING to do better now, let me take a 
> >> shot at explaining.
> >> 
> >> The defaults for maxConnectionsPerHost and maxTotalConnections are 2 and 
> >> 20, so I think that's where we got the *10 multiplier.  We believe the 
> >> multiplier is supposed to account for the number of http servers we're 
> >> forwarding requests to, which in our case is only one Apache server, so we 
> >> think we could do without the *10 - please advise if any of that's wrong.
> >> 
> >> The one Apache server is load balancing via mod_jk to 1 or more Tomcat 
> >> servers.  The cachesize parameter in the workers.properties is set to 10, 
> >> but we're trying to leave 2 slots there for other requests besides the 
> >> ones this particular server handles, which leaves us 8 slots per server.
> >> 
> >> So we're setting maxConnectionsPerHost to 8, and currently we're setting 
> >> maxTotalConnections to 8*10, although we think the *10 may be unnecessary. 
> >>  Now we're trying to account for there being more Tomcats, so we're 
> >> planning to set maxConnectionsPerHost to 8*num_tomcats and 
> >> maxTotalConnections to 8*num_tomcats as well.
> >> 
> >> Does that make any sense?
> >
> >Jeff, 
> >There is no universal scheme to calculate optimal MTHCM settings. You
> >should experiment and see which ones work best for you.
> >
> >Generally you should set maxConnectionsPerHost at least to n, where n is
> >a number of worker threads accessing the this host simultaneously. Then
> >you should set maxTotalConnections to n * m, where m is the number of
> >hosts you application connects to. Say, you have 5 worker threads per
> >host and 4 target hosts, then the total number of connections should be
> >at least 20 to avoid resource contention. If you set the total limit to
> >something like 15, then the worker threads will start contending for
> >connections when running at the full capacity. 
> >
> >Hope this helps
> >
> >Oleg
> >
> >> ---
> >> J. Jeff Roberts
> >> [EMAIL PROTECTED]
> >> (859) 552-5806
> >> 
> >> 
> >> ----- Original Message ----- 
> >> From: 'Jeff Roberts' [EMAIL PROTECTED]>
> >> To: [email protected]
> >> Sent: Wed, 25 Jan 2006 09:18:30
> >> Subject: Fwd: 2.0.2 - maxConnectionsPerHost and maxTotalConnections
> >> 
> >> 
> >> 
> >> I've picked up some code that everyone suddenly disavows all knowledge 
> >> of...you know how that goes. :-)
> >> 
> >> We are creating a MultiThreadedHttpConnectionManager, 
> >> setting═maxConnectionsPerHost to 8 and maxTotalConnections to 8 * 10.═ 
> >> That object is passed to the constructor for HttpClient.═ We then receive 
> >> requests, which we route to an Apache server, which is load balancing to 1 
> >> or more Tomcats via mod_jk.
> >> 
> >> I am told that someone fiddled around and found the 8/80 setting works 
> >> well if we're "balancing" over only 1 Tomcat, but that they think we 
> >> should multiply one or both of the properties by the number of Tomcats as 
> >> we add servers.═ No one seems to know where the "* 10" in the call to 
> >> maxTotalConnections came from, or whether we still need it if we multiply 
> >> the 8 by the number of Tomcats.
> >> 
> >> 1. If any of that made sense, does anyone have a clue if we're setting 
> >> these parameters correctly, and if either the 8 or the "* 10" makes any 
> >> sense?
> >> 
> >> 2. Does it sound right to multiply one or both by the number of Tomcats?
> >> 
> >> 3. Can I call setMaxConnectionsPerHost() and setMaxTotalConnections() at 
> >> any time?═ While requests are cranking through, in other words?═ Can I 
> >> call them both with a larger and a smaller number than the current setting 
> >> without problems, as Tomcats are added or removed?
> >> 
> >> Any info much appreciated.
> >> 
> >> --- 
> >> J. Jeff Roberts 
> >> [EMAIL PROTECTED] 
> >> (859) 552-5806 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> 
> >> 
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to