Hi David.

Ok, well I am trying our stress testing out with a LOWER maxThread count and
a higher acceptCount.  Nice to have some confirmation about the theory!
Thanks for your feedback.

Yes - those 10 second pages need to be optimised - the problem is that those
pages are dependant upon data retrieval - with the AMOUNT of data being
variable.  Also the implementation of our tag library by a web developer
could be done in a number of different ways - so we will need to get the
subroutines optimised as much as possible!

Anyway - thanks for your reply - appreciated.

Regards,

Carl

-----Original Message-----
From: David Rees [mailto:[EMAIL PROTECTED] 
Sent: 07 April 2004 08:59 AM
To: Tomcat Users List
Subject: Re: Issues in tomcat 5.0.19


Carl Olivier wrote, On 4/6/2004 10:30 AM:
> 
> Could the problem be that too many high processor-requirement threads 
> are being started, and as such each gets less time on the processor - 
> thus taking longer to process......and thus, should we not set the AJP 
> worker maxThreads DOWN thus allowing the processor to finish each 
> processor intensive task quicker?  Maybe set the acceptCount 
> up.....hmmm  - thoughts?

I think you've found the problem.  If you have a page which takes 10s to 
process (and you say that it's CPU bound, not IO bound), once you have 
as many threads running as you have CPUs on your server, that 10s is 
goint to start taking a longer.  You said your server was a single CPU 
machine, so if you're running 2 concurrent threads, now it will take 20s 
per request to process.

There isn't much you can do.  You need to limit the number of concurrent 
requests so that at maximum load, your slow page takes a reasonable time 
to complete.  Once you hit that limit you either need to start queueing 
requests or rejecting them.  If you don't, the server will just bog 
further and further down.  Once you get more than 10 or so CPU hogging 
threads going at a time, performance will really start to degrade and 
requests will take longer than 10x to complete than usual due to context 
switching overhead.

You can limit the number of concurrent requests at the connector level 
and then you might want increase the accept count as you suggested.

The next thing you'll want to do is figure out how to turn those 10s 
page requests into 1s or less.  ;-)

-Dave

---------------------------------------------------------------------
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