cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Update of "MemtableThresholds" by FlipKromer
Date Tue, 31 Aug 2010 02:37:04 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "MemtableThresholds" page has been changed by FlipKromer.
The comment on this change is: Much more conservative initial heap, via driftx sugg..
http://wiki.apache.org/cassandra/MemtableThresholds?action=diff&rev1=12&rev2=13

--------------------------------------------------

  The settings described here should only be changed in the face of a quantifiable performance
problem. They will affect the cluster quite differently for distinct use cases and workloads,
and the defaults were well-chosen.
  
  == JVM Heap Size ==
- By default, the cassandra startup scripts specifies a maximum JVM heap of -Xmx1G, which
is very low for production use. Consider increasing this -- but gently! If Cassandra and other
processes take up too much of the available ram, they'll force out the operating system's
file buffers and caches. These are as important as the internal data structures for ensuring
Cassandra performance.
+ By default, the cassandra startup scripts specifies a maximum JVM heap of -Xmx1G. Consider
increasing this -- but gently! If Cassandra and other processes take up too much of the available
ram, they'll force out the operating system's file buffers and caches. These are as important
as the internal data structures for ensuring Cassandra performance.
  
- It's much riskier to start tuning with this too high (a difficult-to-pinpoint malaise) than
too low (easy to diagnose using JMX) -- the OS is much smarter than you think. For a high-end
machine with say 48GB of ram, a 12GB heap size is reasonable.  For a rough rule of thumb,
Cassandra's internal datastructures will require about {{{memtable_throughput_in_mb * 3 *
number of hot CFs + 1G + internal caches}}}.
+ It's much riskier to start tuning with this too high (a difficult-to-pinpoint malaise) than
too low (easy to diagnose using JMX). Even for a high-end machine with say 48GB of ram, a
4GB heap size is reasonable initial guess  -- the OS is much smarter than you think.  For
a rough rule of thumb, Cassandra's internal datastructures will require about {{{memtable_throughput_in_mb
* 3 * number of hot CFs + 1G + internal caches}}}.
  
  Also know that if you're running up against the heap limit under load that's probably a
symptom of other problems -- diagnose those first.
  

Mime
View raw message