activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dejan Bosanac (JIRA)" <>
Subject [jira] [Commented] (AMQ-6184) Improve nio transport scalability
Date Fri, 26 Feb 2016 10:25:18 GMT


Dejan Bosanac commented on AMQ-6184:

Added some docs for the nio transport

> Improve nio transport scalability
> ---------------------------------
>                 Key: AMQ-6184
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.13.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.14.0
> NIO transport uses unbounded thread pool executor to handle read operation. Under large
number of connections and load, this could lead to large number of threads and eventually
OOM errors. Which is the exact problem that nio transport is supposed to solve. Some work
has been done in [AMQ-5480], to make this configurable, but there's still more work to make
it more robust. Creating a fixed thread pool with a queue in front gives much better results
in my tests.
> Additionally, the same thread pool is used for accepting connections ([AMQ-5269]). This
can lead to the broker not being able to accept new connections under the load. I got much
better results when experimenting with implementing acceptor logic directly and handling it
in the same thread (without reintroducing the old problem). 
> With these two improvements in place, the broker accept and handle the number of connections
up to the system limits.

This message was sent by Atlassian JIRA

View raw message