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

Amit Jain edited comment on OAK-4837 at 10/14/16 1:26 PM:
----------------------------------------------------------

FileReadBenchmark for sizes 50 KB, 256 KB, 1 MB for:
* JR2 S3 (Over JR2 CachingDataStore) with cache size 0.
* S3 (Over the new AbstractSharedCachingData with cache size 0.

This again has a performance advantage of 14-15% but starts tapering off as 
file size increases. The performance difference for small blobs is possibly 
because of no call to S3 for getting length.

!FileReadBenchmark_0Cache.png|width=900,height=1200!



was (Author: amitjain):
FileReadBenchmark for sizes 50 KB, 256 KB, 1 MB for:
* JR2 S3 (Over JR2 CachingDataStore) with cache size 0.
* S3 (Over the new AbstractSharedCachingData with cache size 0.

This again has a performance advantage of 14-15% but starts tapering off as 
file size increases. The performance difference for small blobs is possibly 
because of no call to S3 for getting length.

!FileReadBenchmark_0Cache.png|width=900,height=1200|


> Improved caching for DataStore
> ------------------------------
>
>                 Key: OAK-4837
>                 URL: https://issues.apache.org/jira/browse/OAK-4837
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: blob
>            Reporter: Amit Jain
>            Assignee: Amit Jain
>              Labels: performance
>         Attachments: FileReadBenchmark.png, FileReadBenchmark_0Cache.png, 
> FileWriteBenchmark.png
>
>
> The current CachingDataStore implementation used with S3DataStore has certain 
> problems:
> * Lack of stats to show hit rate/miss rates for files being requested for 
> downloads
> * Lack of stats for async uploads
> * CachingDataStore starts proactively downloading files in the background 
> when a call to {{getRecord}} is made.
> * Async upload functionality leaks into Backend implementations, LocalCache 
> classes.
> * The call to {{DataStore#getRecord()}} which makes multiple calls to 
> backends which is problematic for S3 (i.e. when not being served bu cache)
> * There is some functionality which is not used with Oak like length cache, 
> sync/async touch etc. which can be removed and code simplified.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to