> On May 25, 2024, at 20:58, Eric Robinson <eric.robin...@psmnv.com> wrote:
> 
> One of our hosting customers is a medical practice using a commercial EMR 
> running on tomcat+mysql. It has operated well for over a year, but users have 
> suddenly begun experiencing slowness for about an hour at the same time every 
> day. During the slow times, we've done all the usual troubleshooting to catch 
> the problem in the act. The servers have plenty of power and are not 
> overworked. There are no slow database queries. Network connectivity is 
> solid. Tomcat has plenty of memory. The numbers of database connections, 
> threads, questions, queries, etc., remain steady, without spikes. There is no 
> unusual disk latency. We have not found any maintenance tasks running during 
> that timeframe.


<snip/>


> There are no unusual errors in the tomcat or database server logs, EXCEPT 
> this one: Java.sql.DriverManager.getConnection


<snip/>


> During the periods of slowness, we see lots of those errors along with a 
> large spike in the number of stuck tomcat threads (from 1 or 2 to as high as 
> 100). It seems obvious that the threads are stuck because tomcat is waiting 
> on a connection to the database.


<snip/>


> We are forced to conclude that some database connection requests are being 
> initiated but are not being sent on the wire.


Could the DB server be out of ports? (Seems unlikely, based on your debugging 
so far.)

Any chance that the Tomcat process is running out of file descriptors? Or ports?

Can you force a garbage collection (e.g., with jconsole or similar tool) during 
a slow period? If there is some limit on an OS-level resource that’s being 
reached, a GC may be able to delete the Java objects that are tying up the 
underlying resources.

  - Chuck


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to