]
Pedro Ruivo updated ISPN-5010:
------------------------------
Fix Version/s: 8.0.0.Final
(was: 7.2.0.Final)
Improve remote listener performance
-----------------------------------
Key: ISPN-5010
URL:
https://issues.jboss.org/browse/ISPN-5010
Project: Infinispan
Issue Type: Enhancement
Components: Remote Protocols
Affects Versions: 7.0.2.Final
Reporter: Galder ZamarreƱo
Assignee: Galder ZamarreƱo
Fix For: 8.0.0.Final
We've run some performance tests and we've noticed remote listeners have a too
negative effect on get/put/remove operations, particularly as number of listeners added by
clients increase. This JIRA encompasses different pieces of work to improve this:
* Make server-side clustered listener async. By doing so, the operations are detached
from the actual server-side listener part when the notification is sent to clients. Async
listener executor is configured with 1 thread, so order is still maintained.
* Batching at the server-side clustered listener side. Instead of sending each event as
it comes, apply time/size based batching to reduce number of system calls to flush sockets
to clients.
* Further improvements might come from bundling listeners added by same client, but this
is more complicated to achieve, since only those listeners that have similar
characteristics can be bundled, e.g. have same filter/converter settings. Also, whether to
use a single connection for all listeners or maintain separate ones still would need to be
decided. (see ISPN-4491)