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&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.