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

Michael Perrone commented on CASSANDRA-7486:
--------------------------------------------

I have done extensive load testing with G1GC with Java 1.7_80 and Cassandra 
2.0.12.x versions with solr secondary indexes and 20GB max heap. On 8 core 
systems these options were the sweet spot for the test workload and worked out 
well in a production cluster, providing dramatic improvements in overall GC 
time and eliminating long CMS pauses that we could not tune out. I will try to 
attach some graphs/tables/metrics in another comment. 

{code:yaml}
JVM_OPTS="$JVM_OPTS -XX:+UseG1GC"
# set these to the number of cores
JVM_OPTS="$JVM_OPTS -XX:ConcGCThreads=8"
JVM_OPTS="$JVM_OPTS -XX:ParallelGCThreads=8"
JVM_OPTS="$JVM_OPTS -XX:SurvivorRatio=8"
# default is 10, this makes G1 slightly more aggressive
# by starting the marking cycle earlier
# in order to avoid evacuation failure (OOM)
JVM_OPTS="$JVM_OPTS -XX:G1ReservePercent=15"
# default is 45, we should start sooner.
# in a high write large heap (20GB) this was
# found to eliminate Old gen pauses
JVM_OPTS="$JVM_OPTS -XX:InitiatingHeapOccupancyPercent=25"
# default is 200 there is a tradeoff between latency
# and throughput. increase this to increase throughput
# at the cost of potential latency, up to 1000
JVM_OPTS="$JVM_OPTS -XX:MaxGCPauseMillis=500"
# use largest possible region size
# speeds up marking phase, tradeoff is efficiency
# comment out to let JVM decide the size
VM_OPTS="$JVM_OPTS -XX:G1HeapRegionSize=32"
{code}


> Compare CMS and G1 pause times
> ------------------------------
>
>                 Key: CASSANDRA-7486
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7486
>             Project: Cassandra
>          Issue Type: Test
>          Components: Config
>            Reporter: Jonathan Ellis
>            Assignee: Shawn Kumar
>             Fix For: 2.1.x
>
>
> See 
> http://www.slideshare.net/MonicaBeckwith/garbage-first-garbage-collector-g1-7486gc-migration-to-expectations-and-advanced-tuning
>  and https://twitter.com/rbranson/status/482113561431265281
> May want to default 2.1 to G1.
> 2.1 is a different animal from 2.0 after moving most of memtables off heap.  
> Suspect this will help G1 even more than CMS.  (NB this is off by default but 
> needs to be part of the test.)



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

Reply via email to