Amit Jain updated OAK-4837:
    Attachment: FileReadBenchmark_0Cache.png

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.


> 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

Reply via email to