Glenn,

This is quite interesting.  How many concurrent threads need to be
running before this bottleneck starts to become a significant issue?
Does a simple test case which simply starts up a number of threads which
all use one of the classes shown below display the problem nicely?

I'd guess that one workaround would be to start up multiple instances of
Tomcat on a single server (which it appears you have already tried) and
make sure you have enough memory for all of them.

-Dave

On Thu, Jul 10, 2003 at 03:27:19AM -0500, Glenn Nielsen wrote:
> Remy,
> 
> It can wait, go ahead with the release.
> 
> But the FileLogger's use of java.sql.Timestamp is a bottleneck,
> I have the thread dump stack traces to prove that it is.
> 
> Right now the biggest problem I have with Tomcat scaling
> is with this type of synchronization bottleneck.
> 
> I have thread dump stack traces where two thirds of the
> threads are waiting on the same synchronization bottleneck
> related to use of one or more of the following classes:
> 
> java.util.Date
> java.util.TimcZone.getDefault()
> java.util.Calendar.getInstance()
> java.text.SimpleDateFormat
> java.sql.Date
> java.sql.Time
> java.sql.Timestamp
> 
> They all hit the same synchronization bottleneck.  And I have
> multiple code bases that have to go through this bottleneck;
> Tomcats FileLogger which gets used a great deal for the Connector
> log when Tomcat is heavily loaded, the MySQL Connector/J JDBC driver,
> and I have customer web application code which hits this also.
> 
> Due to scaling problems I setup a second app server and load balancing.
> It still did not scale well because of the above synchronization
> bottleneck.  Both app servers became overloaded due to this bottleneck.
> 
> I now think the best solution might be a commons project
> to provide alternate solutions for the above date related classes
> designed so that this synchronization bottleneck is avoided.
> 
> Regards,
> 
> Glenn

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

Reply via email to