[
https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15260127#comment-15260127
]
Branimir Lambov commented on CASSANDRA-5863:
--------------------------------------------
In the latest couple of updates I did some renaming:
- {{BufferlessRebufferer}} to {{ChunkReader}} with {{rebuffer}} to {{readChunk}}
- {{BaseRebufferer}} to {{ReaderFileProxy}}
- {{SharedRebufferer}} to {{RebuffererFactory}} with factory method
- {{ReaderCache}} to {{ChunkCache}}
and updated some of the documentation. Hopefully this reads better now?
Switched to Caffeine as planned in CASSANDRA-11452:
- [better cache
efficiency|https://docs.google.com/spreadsheets/d/11VcYh8wiCbpVmeix10onalAS4phfREWcxE-RMPTM7cc/edit#gid=0]
on CachingBench which includes compaction, scans and collation from multiple
sstables
- [cstar_perf with everything served off
cache|http://cstar.datastax.com/tests/id/b5963866-0b9a-11e6-a761-0256e416528f]
shows equivalent performance, i.e. it does not degrade on heavy load
- [cstar_perf on smaller
cache|http://cstar.datastax.com/tests/id/41b4c650-0c6d-11e6-bf41-0256e416528f]
shows better hit rate even with uniformly random access patterns (48.8 vs 45.4%
as reported by nodetool info)
- unlike LIRS, memory overheads are very controlled and specified
[here|https://github.com/ben-manes/caffeine/wiki/Memory-overhead]: at most 112
bytes per chunk including key, i.e. 0.2% for 64k chunks to 3% for 4k chunks.
And finally rebased to get dtest in sync:
|[code|https://github.com/blambov/cassandra/tree/5863-page-cache-caffeine-rebased]|[utest|http://cassci.datastax.com/job/blambov-5863-page-cache-caffeine-rebased-testall/]|[dtest|http://cassci.datastax.com/job/blambov-5863-page-cache-caffeine-rebased-dtest/]|
> In process (uncompressed) page cache
> ------------------------------------
>
> Key: CASSANDRA-5863
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: T Jake Luciani
> Assignee: Branimir Lambov
> Labels: performance
> Fix For: 3.x
>
>
> Currently, for every read, the CRAR reads each compressed chunk into a
> byte[], sends it to ICompressor, gets back another byte[] and verifies a
> checksum.
> This process is where the majority of time is spent in a read request.
> Before compression, we would have zero-copy of data and could respond
> directly from the page-cache.
> It would be useful to have some kind of Chunk cache that could speed up this
> process for hot data, possibly off heap.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)