[
https://issues.apache.org/jira/browse/ARTEMIS-2240?focusedWorklogId=212505&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-212505
]
ASF GitHub Bot logged work on ARTEMIS-2240:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 13/Mar/19 17:04
Start Date: 13/Mar/19 17:04
Worklog Time Spent: 10m
Work Description: franz1981 commented on issue #2582: Revert
"ARTEMIS-2240 ActiveMQThreadPoolExecutor should use LinkedTransferQueue"
URL: https://github.com/apache/activemq-artemis/pull/2582#issuecomment-472514883
Nudge nudge @michaelandrepearce I have performed some single-producer
single-consumer tests with 100 bytes messages and no persistence (core
protocol) and I have found several interesting things:
1. the new thread pool theoretically should scale way better then the
original: there are no more locks associated to the tail/head of the linked
blocking task queue
2. the new thread pool try to reuse dormient and existing threads, but it
means that with few producers/consumers then avaialble threads the cost to
wakeup them will add a huge latency hit (the percentiles show it for small
burst) :(
This is a regression if compared with other commits:
- 7dfa0fe7f43012f2f4ee5715049878019fe0bef7
- 71d549434591715c1f02359000e424e4d7dfbfda
- https://github.com/apache/activemq-artemis/tree/2.6.4
I suggest anyone that has enough cores to perform tests on these commits and
check the latencies/throughput, because although on my box the throughput is
not that different, the performance regression is evident on latency side.
Shame on me that I have trusted that a lock-free q would have performed
better in any case: the cost to scale better is just too high and I think is
better to work after the release to improve the thread pool.
----------------------------------------------------------------
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: 212505)
Time Spent: 5h (was: 4h 50m)
> ActiveMQThreadPoolExecutor should use LinkedTransferQueue
> ---------------------------------------------------------
>
> Key: ARTEMIS-2240
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2240
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Major
> Time Spent: 5h
> Remaining Estimate: 0h
>
> ActiveMQThreadPoolExecutor should use LinkedTransferQueue to reduce cost over
> contention, given that internally it isn't using ReentrantLock as
> LinkedBlockingQueue.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)