cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Perrone (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-7486) Compare CMS and G1 pause times
Date Tue, 19 May 2015 16:34:05 GMT

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

Michael Perrone edited comment on CASSANDRA-7486 at 5/19/15 4:33 PM:
---------------------------------------------------------------------

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}
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
JVM_OPTS="$JVM_OPTS -XX:G1HeapRegionSize=32"
{code}



was (Author: michael.perrone):
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}
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)

Mime
View raw message