[ 
https://issues.apache.org/jira/browse/ARTEMIS-3163?focusedWorklogId=972751&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-972751
 ]

ASF GitHub Bot logged work on ARTEMIS-3163:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Jun/25 09:44
            Start Date: 12/Jun/25 09:44
    Worklog Time Spent: 10m 
      Work Description: AntonRoskvist opened a new pull request, #5774:
URL: https://github.com/apache/activemq-artemis/pull/5774

   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](https://github.com/user-attachments/assets/9c81786c-7e24-4198-a876-96e898377e9e)
   
   IoUring:
   
![uring_latency](https://github.com/user-attachments/assets/304ea63a-e014-4327-9306-d6681fc73523)
   
   The tests are run on my work laptop so I'd take those results as a rough 
indicator and nothing more though.




Issue Time Tracking
-------------------

    Worklog Id:     (was: 972751)
    Time Spent: 9h 50m  (was: 9h 40m)

> Experimental support for Netty IO_URING incubator
> -------------------------------------------------
>
>                 Key: ARTEMIS-3163
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3163
>             Project: ActiveMQ Artemis
>          Issue Type: New Feature
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: flamegraphs.zip
>
>          Time Spent: 9h 50m
>  Remaining Estimate: 0h
>
> Netty provides incubator support (ie not for production use yet) for IO_URING 
> (see https://github.com/netty/netty-incubator-transport-io_uring).
> It would be nice for Artemis to support it and allows devs/users to start 
> playing with it.
> To enable this feature to work, users should manually compile 
> https://github.com/netty/netty-incubator-transport-io_uring and place it on 
> the lib folder of an artemis installation, as expected by an experimental 
> feature ;)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to