Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
364 views
in Technique[技术] by (71.8m points)

jms - why does SwiftMQ show flow control behaviour even when flow control is disabled?

I'm trying to benchmark the performance of swiftMQ 5.0.0 with producer and consumer application I wrote so that I can vary the number of producer threads and consumer threads. I have added a delay on the consumer to simulate the time taken to process a message. I have run a test by setting the producer threads fixed at 2, and by varying the number of consumer threads from 20 to 92 in steps of 4.

Initially, the producer rate starts high and consumer rate is low (as expected due to the delay added and less number of consumer threads).

As the number of consumer threads increase, the producer rate drops and consumer rate increases and they become equal at around 48 consumer threads.

After that, as the number of consumer threads further increase, both producer and consumer rates keep increasing linearly. I am wandering what the reason for this behavior is?

see this image for the result graph

Notes:

  • I have disabled flow control at queue level by setting flowcontrol-start-queuesize="-1" .
  • I also have not set a value to inbound-flow-control-enabled in routing swiftlet. (I believe it defaults to false)

Any help on this matter is much appreciated. TIA

question from:https://stackoverflow.com/questions/65901516/why-does-swiftmq-show-flow-control-behaviour-even-when-flow-control-is-disabled

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...