We have a Java EE application (a online digital library portal) with Hibernate 4.3 which connects to a PostGres 9.2 database. Upon load testing with a load of 175 concurrent users logging in and accessing the system, the database server CPU utilization goes up to 100% and stays that way.
The hardware for the database server is: 4 Core Pentium 2+ GHz processor. 12 GB RAM Ubuntu The connection pool size is 200. The application server is Apache Tomcat 6.x running on a different 4 Core Pentium 2+ GHz processor. 12 GB RAM Ubuntu machine.
Please help! Need to fix this urgently.
left joinchains and/or the n+1SELECTs pattern. 200 is also at the very upper end of a desirable pool size even on a bigger machine with a newer PostgreSQL; lowering it may well significantly improve performance. You didn't mention disk activity, disk type, etc, which is critical for a database unless the DB is quit a bit smaller than RAM. As for urgent, you know where to go: postgresql.org/support/professional_support