I'm going through http://www.jboss.org/community/docs/DOC-10217
to help tune our jboss
server for production.
In the section headed "Tomcat", there is advice about tuning thread parameters
for the http connector and I'm not sure if I'm understanding this right.
Specifically, I'm looking at minSpareThread and maxSpareThread attributes.
In DOC-10217 it says the following about minSpareThread:
anonymous wrote : You should have minSpareThreads equal just a little more than your
anonymous wrote : minSpareThreads means "on start up, always keep at least this many
threads waiting idle"
However, the second quote above doesn't seem to tell the whole story. In the Tomcat
) it says the following
anonymous wrote : The number of request processing threads that will be created when this
Connector is first started. The connector will also make sure it has the specified number
of idle processing threads available. This attribute should be set to a value smaller than
that set for maxThreads. The default value is 4.
My interpretation of the Tomcat docs description is that this value should be set to a
figure that equals the usual (or perhaps peak?) thread turnover. I'm not sure that is
the same thing as "just a little more than your normal load", but maybe that is
what the author of the JBoss "slimming" doc meant?
In DOC-10217 it says the following about maxSpareThread:
anonymous wrote : You should have maxSpareThreads equal just a little more than your peak
anonymous wrote : maxSpareThreads means "if we ever go above minSpareThreads then
always keep maxSpareThreads waiting idle"
The Tomcat docs seem to describe maxSpareThreads very differently:
anonymous wrote : The maximum number of unused request processing threads that will be
allowed to exist until the thread pool starts stopping the unnecessary threads. The
default value is 50.
Now, I'm not sure exactly what the Tomcat Docs mean by "the unnecessary
threads" that are being stopped, but my interpretation of this is that once the
number of unused threads drops below this figure, the server starts hunting for other
threads that are not yet marked as unused but might be dead or dying.
If that interpretation is correct, then setting this figure to "just a little more
than your peak load" as suggested in the JBoss slimming document seems to me that it
would be too high. I'd have thought this figure would need to be set relatively low.
I note that the ratios between the default values specified by the Tomcat docs
(maxThreads=200, minSpareThreads=4, maxSpareThreads=50) don't seem to me to match the
recommendations in the JBoss Slimming document.
I expect I'm not understanding either document properly, but I'd appreciate some
discussion on this to clarify things.
View the original post :
Reply to the post :