cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-1469) adaptive default heap size
Date Tue, 14 Sep 2010 22:18:34 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Brandon Williams updated CASSANDRA-1469:
----------------------------------------

    Attachment: 0002_determine_memtable_thresholds_at_runtime.txt

Patch to set memtable thresholds at runtime based on the amount of heap available.  One fifth
of the heap goes to the memtable, and the op threshold is based on $HEAP / 64 * 0.3.  Of course
if someone makes a bunch of memtables this will be too aggressive, but hopefully anyone seriously
running Cassandra in production is explicitly declaring these settings.

> adaptive default heap size
> --------------------------
>
>                 Key: CASSANDRA-1469
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1469
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Packaging
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>             Fix For: 0.7.0
>
>         Attachments: 0001_adaptively_determine_heap_size.txt, 0002_determine_memtable_thresholds_at_runtime.txt
>
>
> Cassandra comes out of the box with very conservative defaults, especially in -Xmx and
memtable sizes, which leads to complaints of poor performance or even OOM conditions under
heavy load.  But changing these to be aggressive can cause the same problem: most servers
enable swap out of the box, so asking for a 4GB or 8GB heap could allocate happily but also
cause problems when it starts paging.
> Proposed solution is to update the start script to set Xmx to half of system ram ("free
-m | awk '/Mem:/ {print $2}'").  Memtable defaults will have to be handled by Java, but we
can do that based on heap size (Runtime.maxMemory).
> An alternative suggestion was to provide "small", "medium", "large" configurations, but
this plays poorly with rpm and deb packages.  I think the adaptive approach is more promising.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message