qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: perftest performance and qpid messaging api
Date Mon, 27 Jun 2011 12:06:59 GMT
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/ch02s06.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:users-subscribe@qpid.apache.org


Mime
View raw message