We will soon be rolling out a production web site running on Oracle 9iAS and we have come across some fundamental performance issues.
To try and isolate the problem we have created a new OC4J instance that just contains 3 JSPs, one displays the Java environment, one does some JDBC calls to our database and one does an XSLT transform.
Under low volume stress testing the database and XSLT transform JSPs slow down considerably when we go from 5 to 20 concurrent users. The Java environment page is OK.
Oracle tuning documentation suggests setting the global thread pool in server.xml. When we change this to
<global-thread-pool min="18" max="18" queue="75" keepAlive="-1" debug="false"/>
all the pages appear to perform consistently well. However the OC4J instance becomes extremely unstable - e.g. dcmctl reports that the instance is down, but it is still responding to requests or the instance restarts itself - presumably due to opmn.
Has anyone any experience of tuning OC4J using the global thread pool settings ? If so, what are the critical thresholds and what else needs to be adjsuted ?
I would suggest to increase your maximum number of thread to something bigger, 18 may not be enough as you said you have 20 concurrent users sometimes. I don't know how Oracle9iAS would response if there is no more thread available to handle the request, but it is definitely not enough.
We have tried setting the minimum and maximum thread pool sizes at several different values between 10 and 40. At all settings the OC4J container becomes unstable.
It appears that if the container is busy servicing threads from the pool and there is a thread queue of more than 10, OPMN thinks that the container is down and restarts it. We need to find a way of either getting OPMN to test the container on a different port, increase the OPMN time out or reduce the ferquency of the OPMN ping.
What version of OracleAS are you using ? What platform/JDK are you using ?
Have you tried the latest and greatest 9.0.4 ?
Does this reproduces in the standalone environment also ?