wy96f commented on issue #2750: ARTEMIS-2399 Improve performance when there are a lot of subscribers URL: https://github.com/apache/activemq-artemis/pull/2750#issuecomment-516807021 Pushed to change PageReader per queue. The perf result is below: 1. Running in 51MB size page and 1 page cache in the case of 100 multicast queues. 19000 msg/s received and 9500 msg/s sent vs. 16000 msg/s received and 11000 msg/s sent with previous PageReader cache. consumer tps:  producer tps:  2. Running in 5MB size page and 100 page cache in the case of 100 multicast queues. 16000msg/s received and 8200 msg/s sent vs. 15000 msg/s received and 8500 msg/s sent with previous PageReader cache. consumer tps:  producer tps:  3. Running in 51MB size page and 1 page cache in the case of 1 queue. 16000 msg/s received and 29000 msg/s sent vs. 13500 msg/s received and 30000 msg/s sent with previous PageReader cache. consumer tps:  producer tps:  Generally speaking, the consumer tps increase a little and producer tps reduce less, with total tps increasing by about 1000. It's to be noted that there was frequent file opening/closing in second test scenario(5MB size page and 100 page cache). I added some logging and saw two subsequent deliver was scheduled a few seconds after depage. In the case that message of PagedReference was cleared, calling getPriority/checkExpired in deliver() would trigger reading message. Due to the small page file, reading messages were more likely to hit page before the current cursor. Given PageReader before current cursor was closed, this would cause constantly page file open/close(log showed approximately 6000 times per second in average). In first test scenario(51MB size page and 1 page cache), approximately 700 times per second in average of file open/closing occurred.
---------------------------------------------------------------- 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] With regards, Apache Git Services
