cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edward Capriolo <>
Subject Re: Follow-up post on cassandra configuration with some experiments on GC tuning
Date Sun, 29 Aug 2010 20:15:45 GMT
On Sun, Aug 29, 2010 at 1:53 PM, Carsten Krebs <> wrote:
> Also, note that lack of saw-toothing is not a goal in and of itself
> and may even be bad. For example, with respect to the young generation
> the situation is essentially:
> (1) The larger the young generation, the more significant the saw-tooth.
> (2) The larger the young generation, the more efficient the GC (if the
> application behaves according to the weak generational hypothesis -
> google it if you want a ref) because less data is promoted to old gen
> and because the overhead of stop-the-world is lessened.
> (3) The larger the young generation, the longer the pause times to do
> collections of the young generation.
> In this regard, what I personally miss in Mikios - however nice - analysis,
> is what are the effects on the application stop times due to any garbage
> collection runs for the cases tested. In most cases, I prefer having low
> pauses due to any garbage collection runs and don't care too much about the
> shape of the memory usage, and I guess, that's the reason why the low pause
> collector is used by default for running cassandra. For myself, I have mixed
> feelings regarding the low pause collector, because I found it difficult to
> find good young generation sizings, which are suitable to different load
> patterns. Therefor I mostly prefer the throughput collector, which
> adaptively sizes the young generation, doing a good job to avoiding that too
> much data goes to the tenured generation. I would be interested in, what are
> the differences concerning the stop times between the different GC variants,
> when running cassandra. Is it really much better to use the low pause
> collector in regard to get stabile response times, even if I use
> XX:+UseParallelOldGC and XX:MaxGCPauseMillis=nnn flags? Any experiences with
> this?
> Regards,
> Carsten

I know that the saw-toothing is not necessarily a bad thing. If you
notice my graph the memory goes from 9-12 GB every 30 minutes.
Assuming throughput/performance is roughly the same , doesn't adaptive
power management kick in, thus keeping the earth greener and leaving
more power for other servers in your rack? (maybe that does not apply
in this case since java memory appears used to the OS)

I like these settings just because they seem to be more proactive.
This seems to keep my memory at a solid number rather then moving from
8-12GB on thirty minute intervals. If some event like a large row or
load hits the node I feel it helps to have less memory used.

In any case, very interesting thread. Keep it going!

View raw message