slowing down of OpenMRS on tomcat 7 without increase in resource utilization

Hi, we noted a slowdown of OpenMRS with no noted increase in CPU or RAM utilization using “top” and “htop” This issue would be resolved upon restart of Tomcat 7 but would frequently return during peak hours. Our OpenMRS version is 1.9.3

How hard would it take you to upgrade to supported versions like 1.11 or newer, to see if these issues were addressed in these versions?

upgrading is difficult since we are using some modules of developers we are not in contact with and have no JAVA developer in the team.

ok. I’ll just plan the upgrade. thanks

@galinganmd most modules that work on 1.9 will work on 1.11 and 1.12 My advise is that you try it out on a test server to see how it goes. If you get into any trouble, feel free to ask here for help. :slight_smile:

I’ve noticed that OpenMRS only uses one connection to MySQL which results in only one core being utilized. Is there a way to make these connections increase to utilize all the cores of our server?

OpenMRS uses the c3p0 connections pool configured at https://github.com/openmrs/openmrs-core/blob/master/api/src/main/resources/hibernate.default.properties#L15-L21, which by default is set to keep from 0 to 50 connections.

How did you come to a conclusion that just one connection is being used? Does running

show status where variable_name = 'Threads_connected';

always show 1? The number of open connections should differ over time depending on the load (number of simultaneous requests).

Take a look at these links: https://www.quora.com/How-well-can-the-performance-of-a-MySQL-database-benefit-from-additional-CPUs

If I’m not mistaken, I think these are session pool connections from client to JAVA. From JAVA to MySQL, I think there is only one. We noticed that we could accommodate 24 threads from 2 cores but seem to only utilize 12 from our tests.

show status where variable_name = ‘Threads_connected’; returns 39

but “htop” shows only 12 cpus out of the 24 being utilized

Mr. Kohntopp said:

"More than one core is only being used if you have multiple connections with running queries. "