Re: Qpid Java Broker performance lower than expected
Hi Robbie, Thanks for the reply. We also didn't see much performance difference between broker instances based on Derby store and berkeley db store. However readings we obtained now are quite ok, here's the summary of readings we have with Derby persistence: We have also tinkered a little bit with the program Qpid Bench to allow for multiple producers and consumers, and here's our reading. producers consumers Msg_size producers_rateconsumers_rate threads threads 1 1 1k921.74 877.73 1010 1k4357.87 7132.64 5050 1k5511.71 12670.5 4070 1k5753.82 24654.24 5060 1k6319.43 21525.96 Regards Vinay -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6938973.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org
Re: Qpid Java Broker performance lower than expected
The parameters we had used with the original QpidBench program is as follows: -c 1 -i 1000 -s 1024 -m both --timestamp false --message-id false --message-cache true --persistent true --jms true -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6939008.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org
Re: Qpid Java Broker performance lower than expected
The reason I said that was that it takes a *lot* longer to run some(/all) of the system tests when using the DerbyStore, but doing some very noddy tests today with a single consumer and producer showed there wasnt any great difference between them. Both were noticably slower than historically, so it is something we will be looking into improving. One particular system test I previously noticed a large difference in uses multiple consumers and producers though, and so that could actually be where the difference lies because the BDB store is implemented somewhat differently to the Derby one and so possibly has an artificial edge in that regard. Robbie On 26 October 2011 03:14, Danushka Menikkumbura danushka.menikkumb...@gmail.com wrote: Hi Robbie, I did not notice that the BDB store was faster than the Derby store when I checked some time back. Thanks, Danushka On Wed, Oct 26, 2011 at 5:07 AM, Robbie Gemmell robbie.gemm...@gmail.comwrote: Hi Vinay, I havent done any performance benchmarking of the Derby store to know what a representative number would actually be, but I will try to take a look at some point. I havent actually used QpidBench, so can I ask if there were any specific command(s) you ran so I can try the same scenarios? We havent paid much attention to performance of the Java broker for a while unfortunately because we have been working on various other issues such agetting memory usage under control and sorting out correctness issues etc since adding a newer protocol version and doing some significant refactorings and reimplementations, but as we reach the light at the end of the tunnel on those it is something which should move further up the priority list. It is worth nothing that there is also a BDB persistent store for the Java broker that you might want to look at, as I would expect it to be faster. It has recently been moved into the main repo, but is still an optional module which you need to explicitly ask for to be built (because BDB itself uses the Sleepycat Licence, which invokes restrictions upon distribution that mean it is not Apache Licence compatible). You can build the store module and include it (but not BDB itself) in the broker binary release bundle by using the following build command: ant build release-bin -Dmodules.opt=bdbstore -Ddownload-bdb=true You will find that downloads the bdb je jar into qpid/java/lib/bdbstore, and then creates a broker binary release in qpid/java/broker/release which includes the additional store module. You can make the BDB je jar available to the broker by creating a lib\opt subdir and copying the je jar into it, where it will get picked up automatically assuming you are using Java 6+. You can then use org.apache.qpid.server.store.berkeleydb.BDBMessageStore as the store class config instead of the other stores. Robbie On 24 October 2011 16:25, vipun vinay.punno...@gmail.com wrote: Hi, I'm collecting performance figures for QPID Java based broker. The results which i got after running the QpidBench program are a little lower than expected. My machine which is a quad core, 8GB RAM with Windows 7 gives a message throughput of around 400 messages when both producer and consumer client instances are active. Qpid Java broker is configured to run over Derby and messaging is in persistent mode. I was expecting somewhere around 1000 atleast going by the following blog which does comparisons between different messaging providers. http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/ Do you think, the figures from my tests are correct, or what are the expected performance results, or are there any tweaks which need to be done for performance gains. I am running out of trunk. Thanks Regards Vinay -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6925405.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org
Re: Qpid Java Broker performance lower than expected
Hi Vinay, I havent done any performance benchmarking of the Derby store to know what a representative number would actually be, but I will try to take a look at some point. I havent actually used QpidBench, so can I ask if there were any specific command(s) you ran so I can try the same scenarios? We havent paid much attention to performance of the Java broker for a while unfortunately because we have been working on various other issues such agetting memory usage under control and sorting out correctness issues etc since adding a newer protocol version and doing some significant refactorings and reimplementations, but as we reach the light at the end of the tunnel on those it is something which should move further up the priority list. It is worth nothing that there is also a BDB persistent store for the Java broker that you might want to look at, as I would expect it to be faster. It has recently been moved into the main repo, but is still an optional module which you need to explicitly ask for to be built (because BDB itself uses the Sleepycat Licence, which invokes restrictions upon distribution that mean it is not Apache Licence compatible). You can build the store module and include it (but not BDB itself) in the broker binary release bundle by using the following build command: ant build release-bin -Dmodules.opt=bdbstore -Ddownload-bdb=true You will find that downloads the bdb je jar into qpid/java/lib/bdbstore, and then creates a broker binary release in qpid/java/broker/release which includes the additional store module. You can make the BDB je jar available to the broker by creating a lib\opt subdir and copying the je jar into it, where it will get picked up automatically assuming you are using Java 6+. You can then use org.apache.qpid.server.store.berkeleydb.BDBMessageStore as the store class config instead of the other stores. Robbie On 24 October 2011 16:25, vipun vinay.punno...@gmail.com wrote: Hi, I'm collecting performance figures for QPID Java based broker. The results which i got after running the QpidBench program are a little lower than expected. My machine which is a quad core, 8GB RAM with Windows 7 gives a message throughput of around 400 messages when both producer and consumer client instances are active. Qpid Java broker is configured to run over Derby and messaging is in persistent mode. I was expecting somewhere around 1000 atleast going by the following blog which does comparisons between different messaging providers. http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/ Do you think, the figures from my tests are correct, or what are the expected performance results, or are there any tweaks which need to be done for performance gains. I am running out of trunk. Thanks Regards Vinay -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6925405.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org
RE: Qpid Java Broker performance lower than expected
Hi Robbie, Thanks for detailed email responses; They really help us in understanding the internals of qpid; In this and earlier email to Praveen (my co-worker), I had the sense that you were suggesting that Berkely DB (BDB) persistent layer was better than Derby. Is that the case? If yes, what in terms of design, architecture and interaction with messaging layer makes BDB better than Derby store? Thanks Vijay -Original Message- From: Robbie Gemmell [mailto:robbie.gemm...@gmail.com] Sent: Tuesday, October 25, 2011 4:38 PM To: users@qpid.apache.org Subject: Re: Qpid Java Broker performance lower than expected Hi Vinay, I havent done any performance benchmarking of the Derby store to know what a representative number would actually be, but I will try to take a look at some point. I havent actually used QpidBench, so can I ask if there were any specific command(s) you ran so I can try the same scenarios? We havent paid much attention to performance of the Java broker for a while unfortunately because we have been working on various other issues such agetting memory usage under control and sorting out correctness issues etc since adding a newer protocol version and doing some significant refactorings and reimplementations, but as we reach the light at the end of the tunnel on those it is something which should move further up the priority list. It is worth nothing that there is also a BDB persistent store for the Java broker that you might want to look at, as I would expect it to be faster. It has recently been moved into the main repo, but is still an optional module which you need to explicitly ask for to be built (because BDB itself uses the Sleepycat Licence, which invokes restrictions upon distribution that mean it is not Apache Licence compatible). You can build the store module and include it (but not BDB itself) in the broker binary release bundle by using the following build command: ant build release-bin -Dmodules.opt=bdbstore -Ddownload-bdb=true You will find that downloads the bdb je jar into qpid/java/lib/bdbstore, and then creates a broker binary release in qpid/java/broker/release which includes the additional store module. You can make the BDB je jar available to the broker by creating a lib\opt subdir and copying the je jar into it, where it will get picked up automatically assuming you are using Java 6+. You can then use org.apache.qpid.server.store.berkeleydb.BDBMessageStore as the store class config instead of the other stores. Robbie On 24 October 2011 16:25, vipun vinay.punno...@gmail.com wrote: Hi, I'm collecting performance figures for QPID Java based broker. The results which i got after running the QpidBench program are a little lower than expected. My machine which is a quad core, 8GB RAM with Windows 7 gives a message throughput of around 400 messages when both producer and consumer client instances are active. Qpid Java broker is configured to run over Derby and messaging is in persistent mode. I was expecting somewhere around 1000 atleast going by the following blog which does comparisons between different messaging providers. http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/ Do you think, the figures from my tests are correct, or what are the expected performance results, or are there any tweaks which need to be done for performance gains. I am running out of trunk. Thanks Regards Vinay -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6925405.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org
Re: Qpid Java Broker performance lower than expected
Hi Robbie, I did not notice that the BDB store was faster than the Derby store when I checked some time back. Thanks, Danushka On Wed, Oct 26, 2011 at 5:07 AM, Robbie Gemmell robbie.gemm...@gmail.comwrote: Hi Vinay, I havent done any performance benchmarking of the Derby store to know what a representative number would actually be, but I will try to take a look at some point. I havent actually used QpidBench, so can I ask if there were any specific command(s) you ran so I can try the same scenarios? We havent paid much attention to performance of the Java broker for a while unfortunately because we have been working on various other issues such agetting memory usage under control and sorting out correctness issues etc since adding a newer protocol version and doing some significant refactorings and reimplementations, but as we reach the light at the end of the tunnel on those it is something which should move further up the priority list. It is worth nothing that there is also a BDB persistent store for the Java broker that you might want to look at, as I would expect it to be faster. It has recently been moved into the main repo, but is still an optional module which you need to explicitly ask for to be built (because BDB itself uses the Sleepycat Licence, which invokes restrictions upon distribution that mean it is not Apache Licence compatible). You can build the store module and include it (but not BDB itself) in the broker binary release bundle by using the following build command: ant build release-bin -Dmodules.opt=bdbstore -Ddownload-bdb=true You will find that downloads the bdb je jar into qpid/java/lib/bdbstore, and then creates a broker binary release in qpid/java/broker/release which includes the additional store module. You can make the BDB je jar available to the broker by creating a lib\opt subdir and copying the je jar into it, where it will get picked up automatically assuming you are using Java 6+. You can then use org.apache.qpid.server.store.berkeleydb.BDBMessageStore as the store class config instead of the other stores. Robbie On 24 October 2011 16:25, vipun vinay.punno...@gmail.com wrote: Hi, I'm collecting performance figures for QPID Java based broker. The results which i got after running the QpidBench program are a little lower than expected. My machine which is a quad core, 8GB RAM with Windows 7 gives a message throughput of around 400 messages when both producer and consumer client instances are active. Qpid Java broker is configured to run over Derby and messaging is in persistent mode. I was expecting somewhere around 1000 atleast going by the following blog which does comparisons between different messaging providers. http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/ Do you think, the figures from my tests are correct, or what are the expected performance results, or are there any tweaks which need to be done for performance gains. I am running out of trunk. Thanks Regards Vinay -- View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Qpid-Java-Broker-performance-lower-than-expected-tp6925405p6925405.html Sent from the Apache Qpid users mailing list archive at Nabble.com. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org