On 05/05/2015 05:31 AM, Sivananda Reddys Thummala Abbigari wrote:
Hi,
*I am trying to benchmark Qpid with the following use case*:
# Default Qpid configs are used(ex: 2GB is the max memory set), broker and
client are on the same machine
# I have 1 connection and 256 sessions per connection, each sessions has a
producer and consumer. So, there are 256 producers and 256 consumers
# All the producers/consumers are created before they start
producing/consuming messages. Each producer/consumer is a thread and they
run parallely
You don't mention which client/broker you are using. However I think its
true in most cases that there will be no performance benefit in running
the producers and consumers in parallel if they share a connection.
# Consumers start consuming(they wait with .receive())
# producers start producing messages, each producer produces only 1
message, so there are 256 messages produced in total
# A fanout exchange is used(topic.fanout=fanout://amq.fanout//fanOutTopic),
and there are 256 consumers, each consumer receives 256 messages and so
there are 256*256 messages received in total
# *Following are the response times(RT's) for the messages*:
- Response time is defined as the difference in the time when the
message is sent to the broker and the time at which the message is received
at the client
- min: 144.0 ms
- max: 350454.0 ms
- average: 151933.02 ms
- stddev: 113347.89 ms
- 95th percentile: 330559.0 ms
Is there any thing that I am doing wrong fundamentally?. I am worried about
the avg response times of "*152 secs*". Is this expected from qpid?. I see
a pattern here, as the test is running the RT's are increasing linearly
over time.
The messages will need to be serialised over the wire. Therefore if they
all started at the same time, the time taken for each would be expected
to be a little more for each received message.
The times do sounds excessively long, so there could be something
unexpected going on. Details of the client and broker used may help.
However the nature of the test seems a little odd to me. What is it
exactly you want to test here? Is having lots of
sessions/producers/consumers on the same connection an important aspect?
At the very least I would try to arrange the test to run several times
in a loop (in the same process) to make sure you are not getting
initialisation effects in the timings.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]