You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@etch.apache.org by scott comer <we...@mac.com> on 2011/07/05 21:20:51 UTC

Re: ETCH performance data

youngjin, see perf example. is easy to build and run. there is a readme 
in the binary distro.

there are various ways to run the perf tests. single threaded test will 
give a good raw benchmark which i used for development, but only shows 
the time for a single pair of communicating threads running in lockstep 
on the same processor. for me i get around 17k msgs / sec. (add test, 
windows 7 ultimate, i7-960, etc.)

to measure throughput of a deployed system requires multiple threads, a 
more real-life set of scripts and apis, multiple host computers (if that 
is your application), etc.

but just to see the raw performance possible over multiple threads. you 
can bump the thread count in perf client to some higher number. look for 
this code in MainPerfClient.java:

threadCounts = new int[]
         {
             1
         };

change it to be like this:

threadCounts = new int[]
         {
             1, 2, 4, 8
         };

you'll see results of the various tests with 1, 2, 4, and 8 simultaneous 
threads.

for me this results in around 29k msgs / sec with 2 threads, 37k msgs / 
sec with 4 threads, 43k msgs / sec with 8 threads, and 47k msgs / sec 
with 16 threads running on same i7-960 processor. if you're passing one 
way messages (e.g., report test), then you'll see rates as high as 144k 
msgs / sec.

using multiple host computers and higher thread counts gives better 
numbers yet, depending upon the network setup between the two hosts and 
how many cores, etc.

scott out

On 7/5/2011 12:17 PM, Youngjin Park (youngjpa) wrote:
>
> Hi Holger,
>
> I am Youngjin who was one of Etch contributor in Cisco. I would like 
> to adopt Etch in one of our projects in Cisco. I know that Etch is 
> fast and some of our Cisco folks in CUAE team executed Etch benchmark 
> test, but I don't now have any those data and the methodology in my 
> hand or in our Etch wiki page.
>
> I will appreciate you so much if you have those information such as 
> ETCH benchmark test result and its methodology. As Etch becomes one of 
> our api in our product, I may also have a chance to contribute on ETCH 
> development. I would provide those benchmark data to convince my Cisco 
> team in order to get all their agreement.
>
> Thanks a lot in advance.
>
> Youngjin
>


RE: ETCH performance data

Posted by "Youngjin Park (youngjpa)" <yo...@cisco.com>.
Hi Scott,

 

I would use Etch in our real time application by replacing other
messaging api. In order to do that, I need to develop a broker server
such as ActiveMQ. I have a plan to implement some queue mechanism and
the published messages are stored in the queue and consumed by consumers
from the queue.

 

I can see an example code - chat. It receives the message from A and
sends to B. On the similar code, my queue mechanism will be added.

 

In the performance perspective, do you have any comments? Is there any
way to receive the message from A and send to B without
desrializing/serializing in the broker server side?

 

Thanks a lot in advance.

 

Youngjin

 

 

 

From: scott comer [mailto:wert1y@mac.com] 
Sent: Tuesday, July 05, 2011 12:21 PM
To: Youngjin Park (youngjpa)
Cc: grandyho@apache.org; etch-user@incubator.apache.org
Subject: Re: ETCH performance data

 

youngjin, see perf example. is easy to build and run. there is a readme
in the binary distro.

there are various ways to run the perf tests. single threaded test will
give a good raw benchmark which i used for development, but only shows
the time for a single pair of communicating threads running in lockstep
on the same processor. for me i get around 17k msgs / sec. (add test,
windows 7 ultimate, i7-960, etc.)

to measure throughput of a deployed system requires multiple threads, a
more real-life set of scripts and apis, multiple host computers (if that
is your application), etc.

but just to see the raw performance possible over multiple threads. you
can bump the thread count in perf client to some higher number. look for
this code in MainPerfClient.java:

threadCounts = new int[]
        {
            1
        };

change it to be like this:

threadCounts = new int[]
        {
            1, 2, 4, 8
        };

you'll see results of the various tests with 1, 2, 4, and 8 simultaneous
threads.

for me this results in around 29k msgs / sec with 2 threads, 37k msgs /
sec with 4 threads, 43k msgs / sec with 8 threads, and 47k msgs / sec
with 16 threads running on same i7-960 processor. if you're passing one
way messages (e.g., report test), then you'll see rates as high as 144k
msgs / sec.

using multiple host computers and higher thread counts gives better
numbers yet, depending upon the network setup between the two hosts and
how many cores, etc.

scott out

On 7/5/2011 12:17 PM, Youngjin Park (youngjpa) wrote: 

Hi Holger,

 

I am Youngjin who was one of Etch contributor in Cisco. I would like to
adopt Etch in one of our projects in Cisco. I know that Etch is fast and
some of our Cisco folks in CUAE team executed Etch benchmark test, but I
don't now have any those data and the methodology in my hand or in our
Etch wiki page.

 

I will appreciate you so much if you have those information such as ETCH
benchmark test result and its methodology. As Etch becomes one of our
api in our product, I may also have a chance to contribute on ETCH
development. I would provide those benchmark data to convince my Cisco
team in order to get all their agreement.

 

Thanks a lot in advance.

 

Youngjin

 


Re: ETCH performance data

Posted by "Youngjin Park (youngjpa)" <yo...@cisco.com>.
Scott, thanks a lot. Youngjin
 

From: scott comer [mailto:wert1y@mac.com] 
Sent: Tuesday, July 05, 2011 12:20 PM
To: Youngjin Park (youngjpa) 
Cc: grandyho@apache.org <gr...@apache.org>; etch-user@incubator.apache.org <et...@incubator.apache.org> 
Subject: Re: ETCH performance data 
 

youngjin, see perf example. is easy to build and run. there is a readme in the binary distro.

there are various ways to run the perf tests. single threaded test will give a good raw benchmark which i used for development, but only shows the time for a single pair of communicating threads running in lockstep on the same processor. for me i get around 17k msgs / sec. (add test, windows 7 ultimate, i7-960, etc.)

to measure throughput of a deployed system requires multiple threads, a more real-life set of scripts and apis, multiple host computers (if that is your application), etc.

but just to see the raw performance possible over multiple threads. you can bump the thread count in perf client to some higher number. look for this code in MainPerfClient.java:

threadCounts = new int[]
        {
            1
        };

change it to be like this:

threadCounts = new int[]
        {
            1, 2, 4, 8
        };

you'll see results of the various tests with 1, 2, 4, and 8 simultaneous threads.

for me this results in around 29k msgs / sec with 2 threads, 37k msgs / sec with 4 threads, 43k msgs / sec with 8 threads, and 47k msgs / sec with 16 threads running on same i7-960 processor. if you're passing one way messages (e.g., report test), then you'll see rates as high as 144k msgs / sec.

using multiple host computers and higher thread counts gives better numbers yet, depending upon the network setup between the two hosts and how many cores, etc.

scott out

On 7/5/2011 12:17 PM, Youngjin Park (youngjpa) wrote: 

	Hi Holger,

	 

	I am Youngjin who was one of Etch contributor in Cisco. I would like to adopt Etch in one of our projects in Cisco. I know that Etch is fast and some of our Cisco folks in CUAE team executed Etch benchmark test, but I don’t now have any those data and the methodology in my hand or in our Etch wiki page.

	 

	I will appreciate you so much if you have those information such as ETCH benchmark test result and its methodology. As Etch becomes one of our api in our product, I may also have a chance to contribute on ETCH development. I would provide those benchmark data to convince my Cisco team in order to get all their agreement.

	 

	Thanks a lot in advance.

	 

	Youngjin