Hi ActiveMQ community, I have an environment where I communicate a lot between Apache Camel and Apache ActiveMQ. Currently, I use Classic as broker, but I used Artemis in other environments before. Mostly I just take the default settings (with a few small tweaks) and let it run.
Currently, I try to optimize broker communication, and to learn more about broker configuration and tuning. As a starting point, I created a typical Camel integration with 10 routes that connects through ActiveMQ. I ran this on my laptop. On the Camel side, I use both the JMS client (Spring based) and the SJMS (Pure JMS). The camel routes, broker configs, and systeminfo are in this gist: https://gist.github.com/skin27/485fcfe4886260ffa1047eb4843e2cb3 Both ActiveMQ Classic and ActiveMQ Artemis I ran embedded in a Spring Boot application as a single node. These were the first results (average in milliseconds per run): Pure Camel (In-memory/No Broker): ~1 ms Classic Camel JMS client: 17 ms Camel SJMS client: 30 ms Camel Pooled JMS client: 13 ms Camel Pooled SJMS client: 21 ms Artemis Camel JMS client: 27 ms Camel SJMS client: 40 ms Camel Pooled JMS client: 44 ms Camel Pooled SJMS client: 33 ms Are these results that are expected based on my setup? Of course, I already looked at the performance tuning guide: Artemis: https://activemq.apache.org/components/artemis/documentation/latest/perf-tuning.html Classic: https://activemq.apache.org/components/classic/documentation/performance-tuning I already tried out multiple consumers, async and pooledConnection. If you however based on my setup: Camel <---> Embedded ActiveMQ have a few tips which I can try out, I appreciate it. Thanks, Raymond