1

I have built a Spring Boot application and using Hikari CP and its connection pool. There are 1000 concurrent request coming at a time from my producer, but instead of giving max-pool size as 750, I can see max sessions going in DB is 200 only. Even some time it gives "No JDBC connection available" and the sessions are still maxed out at 200 only. Please see the properties below:

Mark Rotteveel
  • 90,369
  • 161
  • 124
  • 175
  • spring: profiles: active: local datasource: hikari: minimum-idle: 10 maximum-pool-size: 750 – Shivam Saxena Jun 23 '21 at 13:11
  • Which database server are you using, and what is the maximum number of connections the database allows? Also, your question seems to be incomplete (don't add things in the comments!), and make sure you include the actual exception stacktrace. – Mark Rotteveel Jun 23 '21 at 13:21
  • There is no exception so I did not add any. And the maximum number of session DB allows is 6000.Db ued is Oracle – Shivam Saxena Jun 23 '21 at 13:35
  • Then what produces the _"No JDBC connection available"_ message you're talking about? I assume that is triggered by an exception. – Mark Rotteveel Jun 23 '21 at 13:38
  • 1
    Perhaps on the DB server side the max number of accepted connections is 200? See https://stackoverflow.com/q/162255/466738 – Adam Michalik Jun 23 '21 at 13:49
  • I checked with this query but is shows 6000 as I mentioned above already.And yes that was produced by an exception but that occurs when DB is slow and session are not releasing but my question was even after setting the connection pool for max 750 connection my applicatrion is reaching upto 200 sessions only. Till the time anyone is released other request waits – Shivam Saxena Jun 23 '21 at 14:04
  • I'm not that familiar with the specifics of Oracle, but maybe 6000 is the system total max, but your user has a lower max. – Mark Rotteveel Jun 23 '21 at 14:36
  • Nope @MarkRotteveel Oracle has parameters for [SESSIONS](https://docs.oracle.com/en/database/oracle/oracle-database/18/refrn/SESSIONS.html#GUID-52804B5A-164F-44F3-8980-F2593B58D807) and [PROCESSES](https://docs.oracle.com/en/database/oracle/oracle-database/18/refrn/PROCESSES.html#GUID-B757AF80-DA38-4167-A914-FE376A3AD4FE) that are global. Strange point is if there are 1000 concurrent request why is the `minimum-idle` set to `10` and not to `1000`. – Marmite Bomber Jun 23 '21 at 21:07
  • @MarmiteBomber As what i know I set it because when the application is idle it should not acquire those much idle sessions – Shivam Saxena Jun 24 '21 at 07:32

0 Answers0