You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Matt Stump (JIRA)" <ji...@apache.org> on 2014/11/19 20:29:35 UTC

[jira] [Commented] (CASSANDRA-8150) Simplify and enlarge new heap calculation

    [ https://issues.apache.org/jira/browse/CASSANDRA-8150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14218353#comment-14218353 ] 

Matt Stump commented on CASSANDRA-8150:
---------------------------------------

I'm going to advocate strongly for 40-50% by default for eden. 

Additionally I'm going to advocate that we change the following:
- Increase ceiling on MAX_HEAP to 20G.
- Increasing the MaxTenuringThreshold to 6 or 8
- Include Instagram CMS enhancements.
- Increase thread/core affinity for GC
- Set XX:ParallelGCThreads and XX:ConcGCThreads to min(20, number of cores).
- Possibly, set XX:MaxGCPauseMillis to 20ms, but I haven't really tested this one.

Instagram CMS settings:
JVM_OPTS="$JVM_OPTS -XX:+CMSScavengeBeforeRemark"
JVM_OPTS="$JVM_OPTS -XX:CMSMaxAbortablePrecleanTime=60000"
JVM_OPTS="$JVM_OPTS -XX:CMSWaitDuration=30000"

Thread/core affinity settings:
JVM_OPTS="$JVM_OPTS -XX:+UnlockDiagnosticVMOptions"
JVM_OPTS="$JVM_OPTS -XX:+UseGCTaskAffinity"
JVM_OPTS="$JVM_OPTS -XX:+BindGCTaskThreadsToCPUs"
JVM_OPTS="$JVM_OPTS -XX:ParGCCardsPerStrideChunk=32768"

I've seen decreased GC pause frequency, latency, and an increase in throughput using the above recommendations with customer installations using the above recommendations. This was observed with both read heavy and balanced workloads.

+[~rbranson] +[~tjake]

> Simplify and enlarge new heap calculation
> -----------------------------------------
>
>                 Key: CASSANDRA-8150
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8150
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Config
>            Reporter: Matt Stump
>            Assignee: Brandon Williams
>
> It's been found that the old twitter recommendations of 100m per core up to 800m is harmful and should no longer be used.
> Instead the formula used should be 1/3 or 1/4 max heap with a max of 2G. 1/3 or 1/4 is debatable and I'm open to suggestions. If I were to hazard a guess 1/3 is probably better for releases greater than 2.1.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)