Skip to content

Conversation

@AntonRoskvist
Copy link
Contributor

This is a continuation of #5296 using a branch from @jbertram that's using Netty 4.2. (Netty support in a separate commit)

Setting this as a separate PR as it'd dependent on having the Netty branch merged first and as far as I can tell there is at least one more issue remaining for Netty 4.2, where some tests under karaf-client-integration-tests are currently failing.
I think it's because artemis-features cannot build properly as at least one dependency requires a lower version of Netty:
missing requirement [org.apache.qpid.jms.client/1.13.0] osgi.wiring.package; filter:="(&(osgi.wiring.package=io.netty.bootstrap)(version>=4.1.0)(!(version>=4.2.0)))"

Regardless, use of the Io_Uring transport is showing a lot of promise. Running tests against a broker with default configuration, only setting useEpoll vs useIoUring and using the following perf client commands:
epoll:
bin/artemis perf client --warmup 60 --duration 300 --max-pending 100 --persistent --url "tcp://localhost:61616?confirmationWindowSize=20000" --consumer-url "tcp://localhost:61616" --show-latency --consumers 2 --num-destinations 30 --hdr broker-uring_client-uring_30-destinations.hdr queue://EPOLL.EPOLL

uring:
bin/artemis perf client --warmup 60 --duration 300 --max-pending 100 --persistent --url "tcp://localhost:61616?confirmationWindowSize=20000&useIoUring=true" --consumer-url "tcp://localhost:61616?useIoUring=true" --show-latency --consumers 2 --num-destinations 30 --hdr broker-epoll_client-epoll_30-destinations_faster.hdr queue://URING.URING

I can see that IoUring transfers about 12% more messages in the given time and they have the following latency percentiles:
Epoll:
epoll_latency

IoUring:
uring_latency

The tests are run on my work laptop so I'd take those results as a rough indicator and nothing more though.

@jbertram
Copy link
Contributor

This is replaced by #6021.

@jbertram jbertram closed this Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants