Thanks Sergio - that's good advice and we have this built into the plan.
Have you heard a solid/consistent recommendation/requirement as to the
amount of memory heap requires for G1GC?

On Fri, Nov 1, 2019 at 5:11 PM Sergio <lapostadiser...@gmail.com> wrote:

> In any case I would test with tlp-stress or Cassandra stress tool any
> configuration
>
> Sergio
>
> On Fri, Nov 1, 2019, 12:31 PM Ben Mills <b...@bitbrew.com> wrote:
>
>> Greetings,
>>
>> We are planning a Cassandra upgrade from 3.7 to 3.11.5 and considering a
>> change to the GC config.
>>
>> What is the minimum amount of memory that needs to be allocated to heap
>> space when using G1GC?
>>
>> For GC, we currently use CMS. Along with the version upgrade, we'll be
>> running the stateful set of Cassandra pods on new machine types in a new
>> node pool with 12Gi memory per node. Not a lot of memory but an
>> improvement. We may be able to go up to 16Gi memory per node. We'd like to
>> continue using these heap settings:
>>
>> -XX:+UnlockExperimentalVMOptions
>> -XX:+UseCGroupMemoryLimitForHeap
>> -XX:MaxRAMFraction=2
>>
>> which (if 12Gi per node) would provide 6Gi memory for heap (i.e. half of
>> total available).
>>
>> Here are some details on the environment and configs in the event that
>> something is relevant.
>>
>> Environment: Kubernetes
>> Environment Config: Stateful set of 3 replicas
>> Storage: Persistent Volumes
>> Storage Class: SSD
>> Node OS: Container-Optimized OS
>> Container OS: Ubuntu 16.04.3 LTS
>> Data Centers: 1
>> Racks: 3 (one per zone)
>> Nodes: 3
>> Tokens: 4
>> Replication Factor: 3
>> Replication Strategy: NetworkTopologyStrategy (all keyspaces)
>> Compaction Strategy: STCS (all tables)
>> Read/Write Requirements: Blend of both
>> Data Load: <1GB per node
>> gc_grace_seconds: default (10 days - all tables)
>>
>> GC Settings: (CMS)
>>
>> -XX:+UseParNewGC
>> -XX:+UseConcMarkSweepGC
>> -XX:+CMSParallelRemarkEnabled
>> -XX:SurvivorRatio=8
>> -XX:MaxTenuringThreshold=1
>> -XX:CMSInitiatingOccupancyFraction=75
>> -XX:+UseCMSInitiatingOccupancyOnly
>> -XX:CMSWaitDuration=30000
>> -XX:+CMSParallelInitialMarkEnabled
>> -XX:+CMSEdenChunksRecordAlways
>>
>> Any ideas are much appreciated.
>>
>

Reply via email to