[
https://issues.apache.org/jira/browse/OAK-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dürig updated OAK-6255:
-------------------------------
Fix Version/s: (was: 1.7.6)
1.7.8
> Minor performance impact by collecting data for SegmentCache statistics
> ------------------------------------------------------------------------
>
> Key: OAK-6255
> URL: https://issues.apache.org/jira/browse/OAK-6255
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Priority: Minor
> Labels: perfomance
> Fix For: 1.7.8
>
>
> OAK-5956 improved the statistics collected for the segment cache. As I
> expected this had an impact on performance as measured by our micro
> benchmarks. An impact is visible for {{ConcurrentReadTest}},
> {{ConcurrentReadWriteTest}} and {{ConcurrentWriteTest}}. Impact on full stack
> operation is yet to be determined (I assume it is neglectable though).
> {noformat}
> # ConcurrentReadTest C min 10% 50% 90% max
> N
> Oak-Segment-Tar (base) 1 43 101 112 129 219
> 525
> Oak-Segment-Tar (OAK-5956) 1 45 104 118 138 264
> 496
> {noformat}
> The impact seems to be mostly caused by the {{SegmentId.onAccess}} callback.
> Possible solutions:
> * Replace the {{SegmentId.onAccess}} callback with a direct reference to the
> underlying counter.
> * Allow disabling of the cache statistics.
> * Do nothing and accept the performance impact.
> The first approach is least attractive as it breaks encapsulation. Depending
> on the impact of this on full stack operations I'd either go with the 2nd or
> 3rd option.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)