0 Replies Latest reply on Oct 14, 2005 4:51 AM by Krzysiek Szatynski

    Poor performance of JMS + persistence in Oracle

    Krzysiek Szatynski Newbie


      The problem we have concerns using JBossMQ with Oracle jdbc2
      persistent store. We are suffering from very poor performance in such
      configuration. In manual transaction management calling
      Session.commit() method takes from about 50ms (for very small messages
      - ~100 bytes) to over second (for still small but a bit bigger
      messages - ~ 5 Kbytes).

      If we switch to NullPersistenceManager or even jdbc PersistenceManager
      but using HSQLDB instead of Oracle, performance is *much* better
      (commit is at least ten times faster).

      Turning transactions off (using AUTO_ACKNOWLEDGE acknowledge mode)
      does not help much.

      We guess that problem is connected with poor performance of BLOB
      handling in Oracle jdbc driver, but we may be wrong.

      Are we suffering from common problem, or we've just screwed something
      up in our configuration?

      If it is just slow with Oracle and nothing can be done, what other
      mature (not HSQLDB) database for JMS store do you suggest.

      Our system configuration is:

      * JBoss AS 4.0.2

      * java -version

      java version "1.5.0_05"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
      Java HotSpot(TM) Server VM (build 1.5.0_05-b05, mixed mode)

      * uname -a

      SunOS ****** 5.9 Generic_118558-10 sun4u sparc SUNW,Sun-Fire-480R

      * Oracle

      * the AS and Database are running on the same machine

      * we tried both OCI and thin driver for Oracle9i.

      Thank you in advance