We put a bunch of effort into reducing GC pauses in 1.0, which worked
great on our synthetic benchmarks but I don't have much data on how
well that's working in practice, on real-world workloads.

If you're running a Cassandra app in production or testing, I'd
appreciate it if you could send me [either personally or via the list]
the results of enabling GC logging on one of your nodes by
uncommenting these lines in cassandra-env.sh:

# JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails"
# JVM_OPTS="$JVM_OPTS -XX:+PrintGCDateStamps"
# JVM_OPTS="$JVM_OPTS -XX:+PrintHeapAtGC"
# JVM_OPTS="$JVM_OPTS -XX:+PrintTenuringDistribution"
# JVM_OPTS="$JVM_OPTS -XX:+PrintGCApplicationStoppedTime"
# JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
# JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
# JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log"

(If you're running on Windows, you'll need to add these options
manually to cassandra.bat, and hardcode the log filename.)

Besides the log file itself it would be useful to know JVM version,
how many cores your machine has, any GC options you have changed from
the default, and a high-level description of your workload (write
heavy? read heavy? slice reads, or query columns by name?  row cache
enabled, and if so, serializingcache with jna, or on-heap cache?)

Thanks!

P.S. It would be simplest if you can provide results for 1.0.7, which
IMO you would be well-served by upgrading to anyway, but all results
for 1.0.2+ are useful if you specify the version you are on.

-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Reply via email to