Hello Justin,

I mean overall performance. All 8 consumers are clones of one another (Docker 
containers) so, in theory, they should all perform more or less the same. We 
are trying to find ways to reduce message buildup in the queue when a surge of 
messages enter it. Setting consumerWindowSize=0 seems to have improved overall 
message throughput and I am trying to understand why. From what we can tell, 
all 8 systems process roughly the same number of messages per unit time.

One of our theories is that the broker pays an administrative cost because it 
has to track which messages have been buffered (and not ACKed) for each 
consumer and disabling buffering eliminates such a cost.

Thank you,
Aaron

-----Original Message-----
From: Justin Bertram <jbert...@apache.org> 
Sent: Friday, March 18, 2022 6:04 PM
To: asteigerw...@brandesassociates.com.invalid
Cc: users@activemq.apache.org
Subject: [EXTERNAL]:Re: Window-Based Flow Control Performance Question

[CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you recognize the sender and know the content 
is safe.] ________________________________


By "improve message throughput performance" are you talking about *overall* 
message throughput or throughput for a few selected consumers?

Generally speaking, reducing consumerWindowSize will help when messages are 
accumulating on one consumer and other consumers have none (i.e. consumer 
starvation). This typically happens when you have a consumer that is slower 
than the others. The speed of the network between the consumer and the broker 
isn't as much of an issue as the speed at which the consumer is processing the 
messages.


Justin

On Fri, Mar 18, 2022 at 4:56 PM Steigerwald, Aaron 
<asteigerw...@brandesassociates.com.invalid> wrote:

> Hello,
>
> Does it make sense that setting consumerWindowSize=0 on the client's 
> connection URL in order to disable client message buffering would 
> improve message throughput performance given the following scenario:
>
> Artemis version: 2.3.0
> Number of queue consumers: 8 from 8 different systems, some of which 
> are geographically separated from the broker but have low latency 
> network connections.
> Message type: byte
> Average message size: less than 10 kilobytes
>
> Thank you,
> Aaron Steigerwald
>

Reply via email to