Hi
We have been doing some performance tests through our Payara servers.
In trying to monitor performance/behaviour we have been watching thread-pool counts. We have aligned a thread-pool within payara with our database - all requests expected to perform a single JDBC look up via DB Connection pool.
With a setting of:
<thread-pool name="http-thread-pool" min-thread-pool-size="10" max-thread-pool-size="25"></thread-pool>
We never see "server.network.http-listener-1.thread-pool.currentthreadcount-count" go above 15 while the count of sessions actually in our database is at 25.
We have done further tests, with aggressive timeouts on our database pool (to understand behaviour) and see that the 25 is current - in use sessions. (obviously these numbers go up and down with varing load)
So my problem is the number "15" looks wrong it seems to be the number minus the initial minimum value of 10.
To prove that we set the following:
<thread-pool name="http-thread-pool" min-thread-pool-size="0" max-thread-pool-size="25"></thread-pool>
with this the number returned from asadmin monitor was correct ("25") but "mirroring" (within load fluctations) the database pool size.
So as a work-around we are now setting the min = "0" - recognising that there will be a small initial impact to requests arriving having to add a thread to the pool - in the scheme of things probably minimal, but obviously not the intent of being able to set a minimum.
We are running payara 4.11.162.
Thanks