qihongxu edited a comment on issue #2494: ARTEMIS-2224 Reduce contention on 
LivePageCacheImpl
URL: https://github.com/apache/activemq-artemis/pull/2494#issuecomment-454254479
 
 
   > @qihongxu Both the changes have been merged ie if you want to perform some 
tests to check if is working as expected everything is on master!
   
   Sorry for late reply. I've been busy recently and just got some time for 
testing this change. 
   As stated this change mainly focused on improving perf on page mode, 
especially when livePageCache is being visited by both producers and consumers. 
In order to test it we applied settings like below:
   
   page-size: 10M->900M
   max-size: 20M->950M
   global-max-size: 1GB
   
   All other settings remain unchanged as we did in ARTEMIS-2216. The reason to 
do so is that I want more observe time to trace its activities and limited the 
number of pages to 1 (livePage) at the same time. Then we started to evaluate 2 
versions: one the original master and the other applied 2 commits in this pr.
   
   After test we found that producer side is fine. So in the following report 
we tested “only consumer” scenario.
      
   **The Original Ver: 200 threads of consumer**
   
![image](https://user-images.githubusercontent.com/10609615/51155195-acddb600-18b1-11e9-8994-363381897253.png)
   As seen the consumer suffer from low tps at the very beginning, and as time 
went by tps even dropped to 100~200ish. From flamegraph generated by 
async-profiler(@franz1981 thx for recommending this tool, much easier to use 
than jfr!) we saw a lot unnecessary queries from ackTx. And the lock made 
things even worse, see attached stacks.
   
![image](https://user-images.githubusercontent.com/10609615/51156220-8457bb00-18b5-11e9-82f6-d8adc7227358.png)
   [Locks - 
livepagecache.txt](https://github.com/apache/activemq-artemis/files/2758001/Locks.-.livepagecache.txt)
   
   
   **The New Ver: 200 threads of consumer**
   
![image](https://user-images.githubusercontent.com/10609615/51156259-b1a46900-18b5-11e9-81d5-57b586497b9e.png)
   Test result seems much better in new version. Although at most time it 
obtained a 3k~6k tps, it ran smoothly and finally consumed all messages. From 
flamegraph only 1% of samples are from ackTx queries. At the end of test the 
perf boosted to 30k tps, which might suggest that message count/page settings 
play an important role in perf.
   
![image](https://user-images.githubusercontent.com/10609615/51156662-8cb0f580-18b7-11e9-8a7b-fd8596619f49.png)
    
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to