> From: Alexandre Chapellon [mailto:alexandre.chapel...@mana.pf] > Subject: Re: pick load
> To me this sounds like a pool of database connection > that is full It's not a full connection pool - you're not using one. It's also likely that your database is a bit sluggish in establishing connections. That version of the JVM sets a global lock while creating a connection, with the expectation that it will occur fairly quickly, allowing the next connection to be established. Note that this has nothing to do with Tomcat. > I don't really know how/where to deal with it. Fix your DB, and configure a connection pool rather than calling com.mana.oc.DBConnection.getConnectionCRM directly, so each request doesn't have to acquire a new connection. Also upgrade to supported versions of things, since both the level of Tomcat you're on and the JVM have been unsupported for quite some time. The most recent JVMs do not keep that particular global lock up on the connection request to the DB, so moving to Java 6 might help. > If someone has the kind willing to take a look at the > full dump here it is: http://pastebin.com/2v3PVTDm A brief look showed only one thread having an active DB connection, with all of the rest stuck on the global lock trying to get a connection in order to authenticate the client or else just waiting for something to do. Since you're not using a connection pool for the authentications, you're serializing the requests, so it's no wonder your throughput is terrible. Even the greatly improved performance of newer Tomcat and JVM versions won't overcome bad webapp design. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.