I have almost exact platform, but transactions are done
almoast instantly and I have commit option B
How much time are we talking about?
Do you use optimized loading?
How did you find out that RequiresNew takes so much time?
How many transactions per time are we talking about?
(JBoss 3.0.4, CMP1.1, PostgreSQL7.3.1, on Linux.)
The method of the session bean that is 'RequiresNew' will take 100 to 300 ms to return. Its quite variable. It takes less time after a fresh vacuum of the DB, but does not take long to get back up again. So with these times we can support 10 transactions per sec for a while but soon we are at 3 or 4. We really need to be able to support at least 10/sec for long periods. The source of our UPDATE activity is an external device that generates events, and we just receive them and update/create EJBs as appropriate.
I have not used Commit option B yet but I will try it. Right now JBoss is the only user of the DB so we thought option A was the right choice.
So I'm assuming this delay to return from the (RequiresNew) method is a combination of the JBoss transaction manager, the JDBC Driver and the Postgres DB engine, my DB schema for the table I'm updating.
We have not changed any of the Postgres DB configuration settings.
You refered to Optimized Loading? What is that?
I'm not sure if RequiresNew is the cause of the problem.
I hope you can help with this!