lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Walter Underwood <wun...@wunderwood.org>
Subject Re: Informal poll on running Solr 4 on Java 7 with G1GC
Date Fri, 21 Jun 2013 15:33:55 GMT
On 6/20/2013 10:22 PM, William Bell wrote:
> It would be good to see some CMS configs too... Can you send your java
> params?

Here is what we use in production. We run multiple collections with small documents. One is
3M docs, one is  9M, one is 2M, and the other three are small. We use Amazon m1.xlarge instances
(4CPU, 15GB).

These options were developed with our load test. That is based on a full day of queries. We
use JMeter to send queries at a constant rate that takes the CPU to between 50% and 75% busy.
We measure 95th and 99th percentiles for response time.

We enable ExplicitGCInvokesConcurrent because some monitoring software was calling System.gc()
to get accurate memory numbers. That was causing notable pauses in service and messing up
our 99th percentile. Alternatively, you could disable those entirely with the flag DisableExplicitGC.

The new size is large so that all the allocations needed to handle a single request can fit
in new space. We really do not want per-request data being allocated in tenured space. New
needs to be big enough to handle multiple simultaneous requests.

export CATALINA_OPTS="$CATALINA_OPTS -d64"
export CATALINA_OPTS="$CATALINA_OPTS -server"
export CATALINA_OPTS="$CATALINA_OPTS -Xms8g"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8g"
export CATALINA_OPTS="$CATALINA_OPTS -XX:NewSize=2048m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseConcMarkSweepGC"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParNewGC"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+ExplicitGCInvokesConcurrent"
export CATALINA_OPTS="$CATALINA_OPTS -verbose:gc"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDetails"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCTimeStamps"
export CATALINA_OPTS="$CATALINA_OPTS -XX:-TraceClassUnloading"
export CATALINA_OPTS="$CATALINA_OPTS -Xloggc:$CATALINA_HOME/logs/gc.log"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
export CATALINA_OPTS="$CATALINA_OPTS -XX:HeapDumpPath=$CATALINA_HOME/logs/"

We used to include these options, but they default to enabled in Java 1.7 Update 17. 

-XX:+DoEscapeAnalysis
-XX:+CMSParallelRemarkEnabled
-XX:+UseCompressedOops

wunder



Mime
View raw message