[
https://issues.apache.org/jira/browse/CASSANDRA-14281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427938#comment-16427938
]
Michael Shuler commented on CASSANDRA-14281:
--------------------------------------------
!bench2.png!
Converted the TIFF bench.png to PNG
> Improve LatencyMetrics performance by reducing write path processing
> --------------------------------------------------------------------
>
> Key: CASSANDRA-14281
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14281
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Michael Burman
> Assignee: Michael Burman
> Priority: Major
> Attachments: bench.png, bench2.png
>
>
> Currently for each write/read/rangequery/CAS touching the CFS we write a
> latency metric which takes a lot of processing time (up to 66% of the total
> processing time if the update was empty).
> The way latencies are recorded is to use both a dropwizard "Timer" as well as
> "Counter". Latter is used for totalLatency and the previous is decaying
> metric for rates and certain percentile metrics. We then replicate all of
> these CFS writes to the KeyspaceMetrics and globalWriteLatencies.
> Instead of doing this on the write phase we should merge the metrics when
> they're read. This is much less common occurrence and thus we save a lot of
> CPU time in total. This also speeds up the write path.
> Currently, the DecayingEstimatedHistogramReservoir acquires a lock for each
> update operation, which causes a contention if there are more than one thread
> updating the histogram. This impacts scalability when using larger machines.
> We should make it lock-free as much as possible and also avoid a single
> CAS-update from blocking all the concurrent threads from making an update.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]