I'm having a similar issue with 5.13.3. We have 3 brokers configured as a
grid network (each connected to the other 2). For the clients, we are using
JmsTemplate to produce messages from 2 hosts ... and
DefaultMessageListenerContainer to consume from another 2 hosts. Each
consumer client is a single tomcat instance with 50 consumer threads on a
single connection to the broker. This means that one of the 3 brokers is
always left with now "real" consumer clients - only "network" consumers.

When we send 570 messages per second we see messages start to queue on one
of the brokers ... invariably, the broker that starts to build up it's queue
is the one that has at least one producer and no "real" client consumers
(i.e. only "network" consumers).

If we stop 2 of the brokers and just have a single broker with 2 producers
and 2 consumers then we don't see any queueing on that broker even at 570
tps the single broker and "real" client consumers can keep up with the
messages. This seems to indicate that it is the network consumers that are
not able to keep up.

FWIW, my brokers are using "pure java" version of levelDB:
    <levelDB directory="${activemq.data}/leveldb"/>

And here's our network connector config:
            <networkConnector name="mqpQueueConnector"
                             
uri="static:(tcp://AMQHOST_01:61616,tcp://AMQHOST_02:61616,tcp://AMQHOST_03:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
                              messageTTL="-1" conduitSubscriptions="false"
duplex="false" consumerPriorityBase="0"
decreaseNetworkConsumerPriority="false">



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Network-Connector-too-slow-when-receive-high-rate-persistent-message-tp4721293p4721407.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to