Filippo Giunchedi has submitted this change and it was merged.

Change subject: Reduce the pressure on CMS GC to avoid stop-the-world
......................................................................


Reduce the pressure on CMS GC to avoid stop-the-world

Increase the JVM tenuring threshold & lower CMSInitiatingOccupancyFraction.

During heavy read load the promotion rate from the young generation is too
high for incremental CMS, which causes CMS to switch to slow stop-the world
collections that take multiple seconds. This is slow enough for other nodes to
consider the node dead.

This patch increases the number of young space collections an object needs to
survive before being promoted. This increases the cost
in young space collections slightly in exchange for a lower promotion rate

Additionally, the lower CMSInitiatingOccupancyFraction setting causes CMS to
start collections earlier. This gives incremental collection a better shot at
collecting sufficient garbage to avoid having to resort to a stop-the-world
collection.

Change-Id: I26c946e05e651ccd68c767ffba51d2ff9598d87b
---
M templates/cassandra-env.sh.erb
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Filippo Giunchedi: Verified; Looks good to me, approved



diff --git a/templates/cassandra-env.sh.erb b/templates/cassandra-env.sh.erb
index 2fd9aa4..5a778b8 100644
--- a/templates/cassandra-env.sh.erb
+++ b/templates/cassandra-env.sh.erb
@@ -218,8 +218,8 @@
 JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC"
 JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled"
 JVM_OPTS="$JVM_OPTS -XX:SurvivorRatio=8"
-JVM_OPTS="$JVM_OPTS -XX:MaxTenuringThreshold=1"
-JVM_OPTS="$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=75"
+JVM_OPTS="$JVM_OPTS -XX:MaxTenuringThreshold=10"
+JVM_OPTS="$JVM_OPTS -XX:CMSInitiatingOccupancyFraction=45"
 JVM_OPTS="$JVM_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
 JVM_OPTS="$JVM_OPTS -XX:+UseTLAB"
 JVM_OPTS="$JVM_OPTS -XX:CompileCommandFile=$CASSANDRA_CONF/hotspot_compiler"

-- 
To view, visit https://gerrit.wikimedia.org/r/192760
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I26c946e05e651ccd68c767ffba51d2ff9598d87b
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet/cassandra
Gerrit-Branch: master
Gerrit-Owner: GWicke <gwi...@wikimedia.org>
Gerrit-Reviewer: Alexandros Kosiaris <akosia...@wikimedia.org>
Gerrit-Reviewer: Faidon Liambotis <fai...@wikimedia.org>
Gerrit-Reviewer: Filippo Giunchedi <fgiunch...@wikimedia.org>
Gerrit-Reviewer: GWicke <gwi...@wikimedia.org>
Gerrit-Reviewer: Giuseppe Lavagetto <glavage...@wikimedia.org>
Gerrit-Reviewer: Manybubbles <never...@wikimedia.org>
Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org>
Gerrit-Reviewer: Ottomata <o...@wikimedia.org>
Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to