I need some advices for tuning Cassandra
(I think it's mb data modeling problems (large partitions), I wanna try to tune it with settings)
We faced a problem with disk space, it's sometimes crashing a node. If I'm right it happens when node starting some major compaction (up to 8 TB (from nodetool compactionstats)) and doing it slow, while we have some writes and/or another big compaction (n TB).
- Cassandra 3.11.7
- 64 cores (we have a really low utilization, i don't understand how to increase it)
- 8 nodes and 2 dc (4 nodes per dc)
Settings for one of the biggest table:
- compaction = {'class': 'TimeWindowCompactionStrategy', 'compaction_window_size': '2', 'compaction_window_unit': 'DAYS', 'max_threshold': '32', 'min_threshold': '4', 'tombstone_threshold': '0.5'}
- compression = {'chunk_length_in_kb': '64', 'class': 'LZ4Compressor'}
- replication = {'class': 'NetworkTopologyStrategy', 'dc1': '1', 'dc2': '1'} AND durable_writes = true;
- default_time_to_live = 5184000
- gc_grace_seconds = 86400
- if you need another info i can add it
I've tried change some compaction settings:
- concurrent_compactors 4 -> 2 -> 3 (I thought that if I did this, then the risk of large compactions in parallel would be lower)
- compaction_throughput 32 -> 256 -> 512 -> 1024 -> 2048 (it looks like it has some limitations or smth, cause I'm increasing this option, and from some value major compactions are not significantly accelerating)
- tombstone_threshold: default -> 0.5