Hi, I noticed that you mentioned your goal is to optimize write throughput, and that you're using
Cassandra 3.11.2.Optimizing for write throughput is usually a proxy for optimizing for compaction, as
the cost of writes are very cheap but compacting to keep up with it can be pretty expensive.You'll
likely want to spend more time making sure you've designed the data model to perform well vs. devoting
that time to tuning GC. Very small CQL partitions (e.g., single k/v) can have a higher per-partition
compaction overhead than moderately-sized partitions (kilobytes to megabytes). If your data is
time-series, using TWCS as a compaction strategy may allow you to sidestep much of compaction entirely
(especially if immutable - see CASSANDRA-13418).Cassandra 4.0 also includes a significant reduction of
memory allocation on the compaction and read paths; you may find that upgrading to 4.0 will both speed
up compaction and reduce its memory overhead.Finally, note that Cassandra 3.11.2 contains several
serious bugs that can result in data loss that have been fixed in all recent versions of the database.
At minimum I would strongly recommend upgrading to the latest 3.11 release without delay.– ScottOn Nov
17, 2021, at 9:15 AM, Kiran mk <coolkiran2...@gmail.com> wrote:G1GC would be the most suitable
option and it has better control over pauses and optimal.Best Regards,Kiran M KOn Wed, Nov 17, 2021,
10:27 PM Elliott Sims <elli...@backblaze.com> wrote:CMS has a higher risk of a long
stop-the-world full GC that will cause a burst of timeouts, but if you're not getting that or don't
mind if it happens now and then CMS is probably the way to go. It's generally lower-overhead than G1.
If you really don't care about latency it might even be worth testing the Parallel collector, but at
16GB there might be timeouts.On Wed, Nov 17, 2021 at 6:25 AM onmstester onmstester
<onmstes...@zoho.com> wrote:Thank YouI'm going to achieve the most possible (write) throughput
with Cassandra and care less about latency, recommendations from community suggests that better to use
G1GC with 16GB heap, but when i already got 92% throughput with CMS, should i consider changing it?Sent
using Zoho Mail---- On Tue, 16 Nov 2021 16:52:29 +0330 Bowen Song <bo...@bso.ng> wrote ----Do you
have any performance issues? such as long STW GC pauses or
high p99.9 latency? If not, then you shouldn't tune the GC for the
sake of it. However, if you do have performance issues related to
GC, regardless what is the GC metric you are looking at saying,
you will need to address the issue and that probably will involve
some GC tunings.On 15/11/2021 06:00, onmstester
onmstester wrote:Hi, We are using Apache Cassandra 3.11.2 with its default
gc
configuration (CMS and ...) on a 16GB heap, i inspected gc
logs using gcviewer and it reported 92% of throughput, is that
means not necessary to do any further tuning for gc? and
everything is ok with gc of Cassandra?Sent using Zoho Mail