Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
383 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 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...