Gordon, Alan, Thank you very much for the answers. It gave me thoughts to go further.
Regards, Boris -----Original Message----- From: Gordon Sim [mailto:[email protected]] Sent: Tuesday, June 28, 2011 9:47 AM To: [email protected] Subject: Re: perftest performance and qpid messaging api On 06/27/2011 12:03 PM, Alan Conway wrote: > On 06/27/2011 06:25 AM, Ilyushonak Barys wrote: >> Hi, folks. >> >> I have done some tests in my environment and faced with very strange >> behavior. >> Perftest works in some times faster (average 5), than my custom code >> (c++ client). I'm speaking about relative value in constant environment. >> The main question is: is any difference in performance between client >> api and messaging api? >> The perftest use client api (which deprecated after v0.6), I use >> messaging api. >> >> I have goal to increase subscriber performance, so I tried varied >> things, like >> >> 1) >> http://qpid.apache.org/books/0.10/Programming-In-Apache-Qpid/html/ch0 >> 2s06.html >> >> >> 2) non-persistence messages >> >> 3) reliability: unreliable/at-least-once >> >> 4) using or not client acknowledge >> It allowed me to increase performance in 2 times. But my client still >> works in 5 times slower, than perftest. >> >> Environment: >> I have clustered 0.8 c++ broker (virtual), and one workstation as a >> client machine. >> I use c++ client, constant message size (64 bytes) in both tests. > > I did some benchmarks a while back and got similar performance for > both APIs. The new API has some slower settings by default but once > all the parameters are tweaked it's about the same. > > I was comparing: > > qpid_cpp_benchmark --receive-option link:{reliability:unreliable} > --repeat 5 --messages 100000 --no-timestamp > > perftest --count 100000 -s > > qpid_cpp_benchmark is a python script that runs C++ clients qpid-send > and qpid-receive. You can find them all in Qpid SVN: > https://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/tests/ One issue is that the number of headers in a message affects the performance. This appears to be the case for both the old and new (qpid::client and qpid::messaging) APIs and appears to be related to memory allocation while decoding qpid::framing::FieldTable. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected] _______________________________________________________ The information contained in this message may be privileged and conf idential and protected from disclosure. If you are not the original intended recipient, you are hereby notified that any review, retransmission, dissemination, or other use of, or taking of any action in reliance upon, this information is prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and delete it from your computer. Thank you for your cooperation. Troika Dialog, Russia. If you need assistance please contact our Contact Center (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
