answers in-line and added to the FAQ
http://qpid.apache.org/faq.html
gregory james marsh wrote:
Hello,
A few questions on broker worker threads:
--worker-threads N (9) Sets the broker thread pool
size
1. Could someone provide a brief description of the worker thread
duties in the current Qpid release? I've read over the document:
The broker uses IO threads for all the work it does. This means that
when work is signalled via an event (socket, RDMA, timer) an IO
thread is scheduled and it runs until it completes the work and then
returns back to the IO thread pool. This allows the CPUs to be
utilized efficiently. The general rule is that we allocate 1 thread per
core +1. So on a 8 way machine you see worker-threads default to 9. On
a 4 way it will be 5. Sometimes it if work changing the default
allocation if:
a.) you run on high core count machine >8 to a lower number
b.) if you taskset, then set to the cores allocated +1
http://qpid.apache.org/qpid-design-threading.html
This mentions that threading allows the following to take place in
parallel:
* network reading and writing for a given session
* data decoding and routing
* response encoding
Is this still current and accurate?
Concurrency in the broker is at the session level. So yes. If you want
more concurrency, create another session on the same connection.
2. How are worker threads allocated to individual client sessions if
there are more clients than threads in the pool?
They are not allocated to a specific client
3. Why was the number 9 chosen as the default number of worker threads?
see above.
4. We experimented by setting the number of threads to 8 to match the
number of cores on our broker node. We saw no significant change in
performance from the default 9. Are there any recommendations in
regard to aligning the number of worker threads to the number node cores?
2-8 CPU's cores +1
8> depends on hardware, but in most cases 8 limiting threads starts
being faster.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]