We've been trying to keep the heap as small as possible; the disk access
penalty on EC2 is big enough - even on instance store - that you want to give
as much memory to disk caches as you can. Of course, then you will need to
keep extra vigilant on your garbage collection and tune various things like
bloom filters, cache sizes (if using on-heap cache) and sstable size for LCS
accordingly.
YMMV of course; we're running on m1.xlarge, so we have less RAM to play with
than you. It all depends on your data size, the size of the hot portion, etc.
Currently we use 3.5GB for Cassandra 1.2.8, which seems like a good tradeoff
for our usage patterns. I tend to bump the heap up and down in .5 GB intervals
just to see what happens; let it run for a few hours or a day and then check
Munin graphs to see what the effect was compared to other nodes.
/Janne
On Aug 24, 2013, at 01:12 , David Laube d...@stormpath.com wrote:
Hi All,
We are evaluating our JVM heap size configuration on Cassandra 1.2.8 and
would like to get some feedback from the community as to what the proper JVM
heap size should be for cassandra nodes deployed on to Amazon EC2. We are
running m2.4xlarge EC2 instances (64GB RAM, 8 core, 2 x 840GB disks) --so we
will have plenty of RAM. I've already consulted the docs at
http://www.datastax.com/documentation/cassandra/1.2/mobile/cassandra/operations/ops_tune_jvm_c.html
but would love to hear what is working or not working for you in the wild.
Since Datastax cautions against using more than 8GB, I'm wondering if it is
even advantageous to use even slightly more.
Thanks,
-David Laube