franz1981 edited a comment on pull request #3572:
URL: https://github.com/apache/activemq-artemis/pull/3572#issuecomment-841677475
I've run some benchmarks vs this version getting these results on the
replica broker:
`main` total broker CPU usage = ~1000 samples.
```
430 samples on (5) I/O threads + 570 samples on replication endpoint thread
155 samples/ 570 samples on replication endpoint thread are spent to awake
the I/O threads.
```
`this PR` total broker CPU usage = ~664 samples
```
171 samples on a single I/O thread + 492 samples on replication endpoint
thread
91 samples/492 samples on replication endpoint thread are spent to awake the
single I/O thread.
```
TLDR: *The improvement in term of CPU usage is ~30% (!!!!)*
Throughput is slightly improved for the single producer/single consumer
case, but not dramatically.
The improved CPU usage instead means having more room to handle I/O, but
start to become interesting while increasing the scale of connected clients:
`main` with 16 producers/consumers
```
**************
RUN 1 EndToEnd Throughput: 33265 ops/sec
**************
EndToEnd SERVICE-TIME Latencies distribution in MICROSECONDS
mean 582.69
min 108.03
50.00% 462.85
90.00% 610.30
99.00% 4554.75
99.90% 9699.33
99.99% 15073.28
max 23855.10
count 1600000
```
While `this PR`:
```
**************
RUN 1 EndToEnd Throughput: 37770 ops/sec
**************
EndToEnd SERVICE-TIME Latencies distribution in MICROSECONDS
mean 471.10
min 116.22
50.00% 411.65
90.00% 544.77
99.00% 2326.53
99.90% 7274.50
99.99% 12648.45
max 28442.62
count 1600000
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]