4 Replies Latest reply on Apr 15, 2009 12:02 PM by desbonns62

    JDBC persistence speed

      hello,

      I did few tests of JbossESB with a MySQL DB persistence. With my configuration, the performances are divided by 50 between the typical hsqldb configuration and the MySQL persistence.
      This is due to the long time that MySQL takes to write a new row.
      I would like to know if there is a way to "concatenate" a certain number of messages before writting on database? In this way the duration of store, for example, 10 concatenated messages will be quite the same that the time needed for a single message. The final speed will be 10 times higher.
      Today I do it manually: I added some specific code to my client that wait 10 messages and send them all in a concatenate string. I do the same operation with the receiver.

      Thanks for your help and please ask me if you need more info.

      Simon

      My configuration:
      Windows XP Pro
      JBossESB-4.5.GA --> Jboss messaging 1.4.0.SP3 included
      MySQL 5.1

        • 1. Re: JDBC persistence speed
          timfox

          Have you tried sending multiple messages in a single JMS transaction?

          • 2. Re: JDBC persistence speed

            Thanks for your answer timfox,

            Yes I have. I wrote a small piece of code that store a certain number of messages in a buffer before sending all of them in a single JMS message (that's what I called concatenate). This increase considerably the performances (it takes quite the same time to send one message than 1000 messages over a JMS message).
            But I would like to know if there is a way that Jboss ESB do it for me?
            My problem is that I have to manage a buffer and if I store 1000 messages before sending the JMS message I can pray for my app not to crash otherwise I could lose 1000 messages!

            Thanks in advance,
            Simon

            (And sorry if my English is not perfect :-S)

            • 3. Re: JDBC persistence speed
              timfox

               

              "desbonns62" wrote:
              Thanks for your answer timfox,

              Yes I have. I wrote a small piece of code that store a certain number of messages in a buffer before sending all of them in a single JMS message (that's what I called concatenate).


              I said transaction, not message.


              This increase considerably the performances (it takes quite the same time to send one message than 1000 messages over a JMS message).
              But I would like to know if there is a way that Jboss ESB do it for me?



              I have no idea. Have you asked on the JBoss ESB forum?


              • 4. Re: JDBC persistence speed

                Oh sorry, I'm new in Jboss and it is not so easy to understand all concepts.
                So ok I will try to search idea around 'transactions', I didn't found much info on the documentation... I will search on the forum.