[
https://issues.apache.org/jira/browse/ARTEMIS-2399?focusedWorklogId=285672&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-285672
]
ASF GitHub Bot logged work on ARTEMIS-2399:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 31/Jul/19 11:19
Start Date: 31/Jul/19 11:19
Worklog Time Spent: 10m
Work Description: 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]
Issue Time Tracking
-------------------
Worklog Id: (was: 285672)
Time Spent: 13h 40m (was: 13.5h)
> Improve performance when there are a lot of subscribers
> -------------------------------------------------------
>
> Key: ARTEMIS-2399
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2399
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Affects Versions: 2.9.0
> Environment: broker 2.9.0
> cpu: 4 cores, memory: 8G, disk: ssd 500G
> broker.xml:
> <thread-pool-max-size>60</thread-pool-max-size>
> <address-setting match="#">
> <max-size-bytes>51Mb</max-size-bytes>
> <page-size-bytes>50Mb</page-size-bytes>
> <page-max-cache-size>1</page-max-cache-size>
> <address-full-policy>PAGE</address-full-policy>
> </address-setting>
> <message-expiry-scan-period>-1</message-expiry-scan-period>
> Reporter: yangwei
> Priority: Major
> Time Spent: 13h 40m
> Remaining Estimate: 0h
>
> We noticed that there was a significant drop in performance when entering
> page mode in the case of multiple subscribers.
> We created a topic and 100 queues bound to it. We ran our _GrinderRunner
> test_ in our inner test infra cluster with 500 threads producing message and
> 560 threads, each one picked a random queue to subscribe. The test showed
> performance is bad: 13000 msg/s sent and 5000 msg/s received.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)