incubator-etch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Youngjin Park (youngjpa)" <young...@cisco.com>
Subject RE: ETCH performance data
Date Fri, 05 Aug 2011 17:10:29 GMT
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

 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message