[ 
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)

Reply via email to