mark yoffe wrote:
Hi again

in regards to

Can you expand on this? What are your throughput and latency
requirements and how many clients do you need to support? Are your
requirements for the Java clients the same as those for the C++
clients?

I want to to create a configuration of hundreds to thousands of "consumers"
and "producers" most
will be c++ clients some will be jms clients and in the future when the .net
will support trunk i will use it as well (that the dream at least)


i dont wont to losse even one message meanning i dont want to create a
situation where more data is beaing pushed in than is beaing pulled out
(there might fluxes but over a long time the equilirium will survie - that
the plan)
in order toachive that i have to understand the "limitations" of a broker
(the c++ broker specifficly)
i intened to use multiple computers of course
and i need to understand whats the coerct ratio betwen Brokker to clients


I think RG commented on most of this. I will add one comment.

If you pushing faster than you consume then the broker will have increasing queue depth. At some point you will run out of memory -- to prevent this you can set policies to page to disk, however disk is only prolong the end point where the disk is full. At this point the publisher get stopped.

So if you are wanting to do reliable transient messaging, for best performance make sure you have enough memory
to handle your expect queue depth.

Use can achieve reliable publish and consume with AMQP 0-10, using the correct acquire modes. build perftest in
the cpp/src/tests directory and do a ./perftest --help



while trying to build such a configuration i ofcourse want to achieve a hi
ratio at least the 300K promissed although i saw papers talking about
"planned" performence of 500K and 1M per seconds
i am curently un able to acheive this even with a semi - empty message (
amessage containing several characters numbering the message)


i hope this explains better the scenario i am trying to create

any thoughts and/or explanations about twiking the box which is running the
broker for better performence will be apreciated

on RHEL:
turn cpuspeed off
turn irqbalance off
set TSC if your processors supports it
isolate your OS on one core
set irq and IO and CPU affinity
do you have NUMA? -- if so I can provide info for that
set your interrupt affinity
set your socket buffer size = frame size for throughput.
increase the bounds-multiplier when using latest version of trunk for throughput

As RG points out, to be more specific we will need to know a few more details, however,
that should get you going, enjoy
Carl.


Reply via email to