Reducing Cassandra p99 latency by fixing OS page cache thrashing
blog.speedyio.com
blog.speedyio.com
Because compaction is about generating a new set of better optimized stables and then discarding the old
Cassandra is was full of all these tasks limped into the same problematic single jfm heap, even though the data could be partitioned into hundreds of jvms with smaller /easier to to gc heaps
Iirc scylla utilizes this fact with cpu pinning across cpus and other tricks that the older Cassandra could not.
There are two performance problems presented here. One is the fact that the OS waits till a static memory bank water-level before triggering a cleanup.
The second is the one you pointed out; here again one thing to consider is cassandra's compression chunk size `chunk_length_in_kb`. readahead value less than chunk size makes cassandra slow in general. take a look at this https://thelastpickle.com/blog/2018/08/08/compression_perfor... for more info on it.