You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by ffrenchm <ff...@gmail.com> on 2009/02/27 16:40:49 UTC

QPID C++ benchs : localhost vs remote benches

Hello,

first of all I would like to thanks everybody who help me to achieve my
benches with QPID C++.

I almost finished them and I plan to put in this mailing list my benches
results (QPID C++ vs ActiveMQ done with JMS API) during the WE.

Anyway I've another question for you :) There is a point in the QPIDC++
which I think is strange. You have to know first that I've to kind of
benches : local benches where client and server are in the same machine and
remote benches where client is on machine A and server is on machine B. I'm
always using a TCP connection. The point I think is strange is the BIG gap
between local and remote benches on QPID C++ I have (with ActiveMQ I have a
gap to but it's not so big)... For example when sending 100000 1024 bytes
messages (non persistent) I've these results :

QPID C++                  
--------------
local send : 19328,39 msg/s
remote send : 5677.26 msg/s

local receive : 19867,55 msg/s
remote receive : 5637.17 msg/s

ActiveMQ
------------
local send :  12359,55 msg/s
remote send : 7916.83 msg/s

local receive : 12359,55 msg/s
remote receive : 7962.68 msg/s

As you can see my results are better with ActiveMQ when I use remote client
than with QPID C++ and that's why I think it's strange because for my local
benches QPID C++ is really the best !

Do you already notice this kind of big differences ?  Do you have any ideas
from where is coming the slowing down  for this kind of remote use ? Did I
miss some tune parameters or is this an issue we should work on QPID C++ ?

Thanks for all
-- 
View this message in context: http://n2.nabble.com/QPID-C%2B%2B-benchs-%3A-localhost-vs-remote-benches-tp2396332p2396332.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-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Rajith Attapattu <ra...@gmail.com>.
Hi ffrench,

I have run Qpid Bench/c++ broker on a single machine and also on
separate machines.

With --jms true and a message size 1024 byte I get ~ 50k/msg sec for
producer on both setups.
I don't see the kind of regression you mention.

Could you please let us know more details about your setup?
That will help us to figure out if there are any issues with your setup/qpid

Regards,

Rajith

Btw, thanks for taking the time to post the feedback. Appreciate your effort.

On Fri, Feb 27, 2009 at 3:52 PM, Carl Trieloff <cc...@redhat.com> wrote:
> Robert Greig wrote:
>>
>> 2009/2/27 Honton, Charles <Ch...@intuit.com>:
>>
>>
>>>
>>> Is the host specified by IP number or by host name?  If by host name, the
>>> DNS resolution queries are entering into your performance numbers.
>>>
>>
>> I would doubt the test creates a new connection for every message???
>
> one other thing is to run Qpid bench and perftest for compare to your test
> hardness.
>
> Carl.
>



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Carl Trieloff <cc...@redhat.com>.
Robert Greig wrote:
> 2009/2/27 Honton, Charles <Ch...@intuit.com>:
>
>   
>> Is the host specified by IP number or by host name?  If by host name, the DNS resolution queries are entering into your performance numbers.
>>     
>
> I would doubt the test creates a new connection for every message???

one other thing is to run Qpid bench and perftest for compare to your 
test hardness.

Carl.

Re: QPID C++ benchs : localhost vs remote benches

Posted by Rajith Attapattu <ra...@gmail.com>.
On Fri, Feb 27, 2009 at 3:51 PM, Robert Greig <ro...@gmail.com> wrote:
> 2009/2/27 Honton, Charles <Ch...@intuit.com>:
>
>> Is the host specified by IP number or by host name?  If by host name, the DNS resolution queries are entering into your performance numbers.
>
> I would doubt the test creates a new connection for every message???
The test creates only one connection.
>
> RG
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Robert Greig <ro...@gmail.com>.
2009/2/27 Honton, Charles <Ch...@intuit.com>:

> Is the host specified by IP number or by host name?  If by host name, the DNS resolution queries are entering into your performance numbers.

I would doubt the test creates a new connection for every message???

RG

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


RE: QPID C++ benchs : localhost vs remote benches

Posted by "Honton, Charles" <Ch...@intuit.com>.
Are tcp connections reused or are new connections being created?

Is the host specified by IP number or by host name?  If by host name, the DNS resolution queries are entering into your performance numbers.

chas
-----Original Message-----
From: ffrenchm [mailto:ffrench.mathilde@gmail.com] 
Sent: Friday, February 27, 2009 10:41 AM
To: users@qpid.apache.org
Subject: QPID C++ benchs : localhost vs remote benches


Hello,

first of all I would like to thanks everybody who help me to achieve my
benches with QPID C++.

I almost finished them and I plan to put in this mailing list my benches
results (QPID C++ vs ActiveMQ done with JMS API) during the WE.

Anyway I've another question for you :) There is a point in the QPIDC++
which I think is strange. You have to know first that I've to kind of
benches : local benches where client and server are in the same machine and
remote benches where client is on machine A and server is on machine B. I'm
always using a TCP connection. The point I think is strange is the BIG gap
between local and remote benches on QPID C++ I have (with ActiveMQ I have a
gap to but it's not so big)... For example when sending 100000 1024 bytes
messages (non persistent) I've these results :

QPID C++                  
--------------
local send : 19328,39 msg/s
remote send : 5677.26 msg/s

local receive : 19867,55 msg/s
remote receive : 5637.17 msg/s

ActiveMQ
------------
local send :  12359,55 msg/s
remote send : 7916.83 msg/s

local receive : 12359,55 msg/s
remote receive : 7962.68 msg/s

As you can see my results are better with ActiveMQ when I use remote client
than with QPID C++ and that's why I think it's strange because for my local
benches QPID C++ is really the best !

Do you already notice this kind of big differences ?  Do you have any ideas
from where is coming the slowing down  for this kind of remote use ? Did I
miss some tune parameters or is this an issue we should work on QPID C++ ?

Thanks for all
-- 
View this message in context: http://n2.nabble.com/QPID-C%2B%2B-benchs-%3A-localhost-vs-remote-benches-tp2396332p2396332.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-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Carl Trieloff <cc...@redhat.com>.
Gordon Sim wrote:
> ffrenchm wrote:
>> Hello,
>>
>> first of all I would like to thanks everybody who help me to achieve my
>> benches with QPID C++.
>>
>> I almost finished them and I plan to put in this mailing list my benches
>> results (QPID C++ vs ActiveMQ done with JMS API) during the WE.
>>
>> Anyway I've another question for you :) There is a point in the QPIDC++
>> which I think is strange. You have to know first that I've to kind of
>> benches : local benches where client and server are in the same 
>> machine and
>> remote benches where client is on machine A and server is on machine 
>> B. I'm
>> always using a TCP connection. The point I think is strange is the 
>> BIG gap
>> between local and remote benches on QPID C++ I have (with ActiveMQ I 
>> have a
>> gap to but it's not so big)... For example when sending 100000 1024 
>> bytes
>> messages (non persistent) I've these results :
>>
>> QPID C++                  --------------
>> local send : 19328,39 msg/s
>> remote send : 5677.26 msg/s
>>
>> local receive : 19867,55 msg/s
>> remote receive : 5637.17 msg/s
>>
>> ActiveMQ
>> ------------
>> local send :  12359,55 msg/s
>> remote send : 7916.83 msg/s
>>
>> local receive : 12359,55 msg/s
>> remote receive : 7962.68 msg/s
>>
>> As you can see my results are better with ActiveMQ when I use remote 
>> client
>> than with QPID C++ and that's why I think it's strange because for my 
>> local
>> benches QPID C++ is really the best !
>>
>> Do you already notice this kind of big differences ?  Do you have any 
>> ideas
>> from where is coming the slowing down  for this kind of remote use ? 
>> Did I
>> miss some tune parameters or is this an issue we should work on QPID 
>> C++ ?
>
> I came across one issue with nvidia ethernet cards that had similar 
> symptoms (may not be the same as this of course). The dmesg output 
> contained: "eth0: too many iterations (6) in nv_nic_irq." or similar.
>
> Do the numbers change if you use much smaller messages?

The numbers seem low. for example I just did a comparison run on my 
notebook for on trunk

1k messages with C++, localhost ~90 k/second
Java low level API is about 51k msg/second
As the JMS should be in the 40k/sec + on single connection non-server. 
any additional info you have that might point to something?

Carl.





---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Gordon Sim <gs...@redhat.com>.
ffrenchm wrote:
> Hello,
> 
> first of all I would like to thanks everybody who help me to achieve my
> benches with QPID C++.
> 
> I almost finished them and I plan to put in this mailing list my benches
> results (QPID C++ vs ActiveMQ done with JMS API) during the WE.
> 
> Anyway I've another question for you :) There is a point in the QPIDC++
> which I think is strange. You have to know first that I've to kind of
> benches : local benches where client and server are in the same machine and
> remote benches where client is on machine A and server is on machine B. I'm
> always using a TCP connection. The point I think is strange is the BIG gap
> between local and remote benches on QPID C++ I have (with ActiveMQ I have a
> gap to but it's not so big)... For example when sending 100000 1024 bytes
> messages (non persistent) I've these results :
> 
> QPID C++                  
> --------------
> local send : 19328,39 msg/s
> remote send : 5677.26 msg/s
> 
> local receive : 19867,55 msg/s
> remote receive : 5637.17 msg/s
> 
> ActiveMQ
> ------------
> local send :  12359,55 msg/s
> remote send : 7916.83 msg/s
> 
> local receive : 12359,55 msg/s
> remote receive : 7962.68 msg/s
> 
> As you can see my results are better with ActiveMQ when I use remote client
> than with QPID C++ and that's why I think it's strange because for my local
> benches QPID C++ is really the best !
> 
> Do you already notice this kind of big differences ?  Do you have any ideas
> from where is coming the slowing down  for this kind of remote use ? Did I
> miss some tune parameters or is this an issue we should work on QPID C++ ?

I came across one issue with nvidia ethernet cards that had similar 
symptoms (may not be the same as this of course). The dmesg output 
contained: "eth0: too many iterations (6) in nv_nic_irq." or similar.

Do the numbers change if you use much smaller messages?

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: QPID C++ benchs : localhost vs remote benches

Posted by Robert Greig <ro...@gmail.com>.
2009/2/27 ffrenchm <ff...@gmail.com>:

> Do you already notice this kind of big differences ?  Do you have any ideas
> from where is coming the slowing down  for this kind of remote use ? Did I
> miss some tune parameters or is this an issue we should work on QPID C++ ?

Is nagle enabled or disabled for the tests (on both client and broker)?

RG

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org