Adel,

The number of workers should be related to the number of available processor cores, not the volume of work or number of connections. 4 is probably a good number for testing.

I'm not sure what the default link credit is for the Java broker (it's 500 for the c++ broker) or the clients you're using.

The metric you should adjust is the linkCapacity for the listener and route-container connector. LinkCapacity is the number of deliveries that can be in-flight (unsettled) on each link. Qpid Dispatch Router defaults linkCapacity to 250. Depending on the volumes in your test, this might account for the discrepancy. You should try increasing this value.

Note that linkCapacity is used to set initial credit for your links.

-Ted

On 07/25/2016 12:10 PM, Adel Boutros wrote:
Hello,We are actually running some performance benchmarks in an architecture 
consisting of a Java Broker connected to a Qpid dispatch router. We also have 3 
producers and 3 consumers in the test. The producers send message to a topic 
which has a binding on a queue with a filter and the consumers receives message 
from that queue.
We have noticed a significant loss of performance in this architecture compared 
to an architecture composed of a simple Java Broker. The throughput of the 
producers is down to half and there are a lot of oscillations in the presence 
of the dispatcher.

I have tried to double the number of workers on the dispatcher but it had no 
impact.

Can you please help us find the cause of this issue?

Dispacth router config
router {
    id: router.10454
    mode: interior
    worker-threads: 4
}

listener {
    host: 0.0.0.0
    port: 10454
    role: normal
    saslMechanisms: ANONYMOUS
    requireSsl: no
    authenticatePeer: no
}

Java Broker config
export QPID_JAVA_MEM="-Xmx16g -Xms2g"
1 Topic + 1 Queue
1 AMQP port without any authentication mechanism (ANONYMOUS)

Qdmanage on Dispatcher
qdmanage -b amqp://localhost:10454 create --type=address prefix=perfQueue 
waypoint=true name=perf.queue.addr
qdmanage -b amqp://localhost:10454 create --type=address prefix=perf.topic 
waypoint=true name=perf.topic.addr
qdmanage -b amqp://localhost:10454 create --type=connector role=route-container 
addr=localhost port=10455 name=localhost.broker.10455.connector
qdmanage -b amqp://localhost:10454 create --type=autoLink addr=perfQueue dir=in 
connection=localhost.broker.10455.connector 
name=localhost.broker.10455.perfQueue.in
qdmanage -b amqp://localhost:10454 create --type=autoLink addr=perf.topic 
dir=out connection=localhost.broker.10455.connector 
name=localhost.broker.10455.perf.topic.out

Combined producer throughput
1 Broker: http://hpics.li/a9d6efa
1 Broker + 1 Dispatcher: http://hpics.li/189299b

Regards,
Adel

                                        


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to