[ 
https://issues.apache.org/jira/browse/OAK-6915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16244921#comment-16244921
 ] 

Michael Dürig edited comment on OAK-6915 at 11/8/17 11:14 PM:
--------------------------------------------------------------

[^OAK-6915.patch] first checks the Guava cache before actually loading a 
segment from disk. 

With this test I got massive improvements for ConcurrentReadTest

Unpatched: 
{noformat}
# ConcurrentReadTest               C     min     10%     50%     90%     max    
   N 
Oak-Segment-Tar                    1      71      94     108     127     310    
 539
Oak-Segment-Tar-Cold               1  103892  103892  103892  103892  103892    
   1
{noformat}

Patched: 
{noformat}
# ConcurrentReadTest               C     min     10%     50%     90%     max    
   N 
Oak-Segment-Tar                    1      40      98     112     131     354    
 527
Oak-Segment-Tar-Cold               1      47      96     110     126     256    
 540
{noformat}

Also checking with JMC confirmed that the unpatched version reads multiple GB 
from disk while the patched version reads virtually nothing. 






was (Author: mduerig):
[^OAK-6915-03.patch] first checks the Guava cache before actually loading a 
segment from disk. 

With this test I got massive improvements for ConcurrentReadTest

Unpatched: 
{noformat}
# ConcurrentReadTest               C     min     10%     50%     90%     max    
   N 
Oak-Segment-Tar                    1      71      94     108     127     310    
 539
Oak-Segment-Tar-Cold               1  103892  103892  103892  103892  103892    
   1
{noformat}

Patched: 
{noformat}
# ConcurrentReadTest               C     min     10%     50%     90%     max    
   N 
Oak-Segment-Tar                    1      40      98     112     131     354    
 527
Oak-Segment-Tar-Cold               1      47      96     110     126     256    
 540
{noformat}

Also checking with JMC confirmed that the unpatched version reads multiple GB 
from disk while the patched version reads virtually nothing. 





> Minimize the amount of uncached segment reads
> ---------------------------------------------
>
>                 Key: OAK-6915
>                 URL: https://issues.apache.org/jira/browse/OAK-6915
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Francesco Mari
>            Assignee: Francesco Mari
>             Fix For: 1.8, 1.7.12
>
>         Attachments: OAK-6915-01.patch, OAK-6915-02.patch, 
> OAK-6915-diagnostics.patch, OAK-6915.patch
>
>
> The current implementation of {{SegmentCache}} should make better use of the 
> underlying Guava cache by relying on the cached segments instead of 
> unconditionally performing an uncached segment read via the 
> {{Callable<Segment>}} passed to {{SegmentCache#getSegment}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to