Darryl A. J. Staflund wrote:
>Hi Everyone,
>
>I am developing a JBoss 3.0.x application using PostgreSQL 7.2.3 as a
>back-end database and Solaris 2.8 (SPARC) as my deployment OS. In this
>application, I am using an EJB technology called Container Managed
>Persistence (CMP 2.0) to manage data persistence for me. Instead of
>writing and submitting my own queries to the PostgreSQL database, JBoss is
>doing this for me.
>
>Although this works well for the most part, the insertion of many records
>within the context of a single transaction can take a very long time to
>complete. Inserting 800 records, for instance, can take upward of a
>minute to finish - even though the database is fully indexed and records
>consist of no more than a string field and several foreign key integer
>values.
>
>I think I've tracked the problem down to the way in which PostgreSQL
>manages transactions. Although on the Java side of things I perform all
>my insertions and updates within the context of a single transaction,
>PostgreSQL seems to treat each individual query as a separate transaction
>and this is slowing down performance immensely. Here is a sample of my
>PostgreSQL logging output:
>
>
[...]
I think the problem isn't PostgreSQL. This is the JBoss-CMP. Take a look
on EJB Benchmark from urbancode
(http://www.urbancode.com/projects/ejbbenchmark/default.jsp).
Best Regards,
Rafal