[ 
https://issues.apache.org/jira/browse/CASSANDRA-9274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14523151#comment-14523151
 ] 

Benedict commented on CASSANDRA-9274:
-------------------------------------

Ultimately we cannot possibly saturate all the writers without a 
cleanup_threshold of 1 / memtable_flush_writers, because we only flush when we 
have that much data, and each flush consumes one flush writer. So defaulting to 
this value makes the most sense, as otherwise we're effectively overriding the 
memtable_flush_writers setting. By setting the memtable_cleanup_threshold to 
0.11, you've effectively set your memtable_flush_writers to 9.

It's not clear to me that the comment about setting to number of cores is the 
best one. Ideally you want as few writers as can keep up with the number of 
requests reaching the box, or the minimum that can saturate the disk. This is 
really up to the operator to establish, but blanket telling them to set to 
number of cores is almost certainly a bad idea.

> Changing memtable_flush_writes per recommendations in cassandra.yaml causes  
> memtable_cleanup_threshold to be too small
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9274
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9274
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Donald Smith
>            Priority: Minor
>
> It says in cassandra.yaml:
> {noformat}
> # If your data directories are backed by SSD, you should increase this
> # to the number of cores.
> #memtable_flush_writers: 8
> {noformat}
> so we raised it to 24.
> Much later we noticed a warning in the logs:
> {noformat}
> WARN  [main] 2015-04-22 15:32:58,619 DatabaseDescriptor.java:539 - 
> memtable_cleanup_threshold is set very low, which may cause performance 
> degradation
> {noformat}
> Looking at cassandra.yaml again I see:
> {noformat}
> # memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)
> # memtable_cleanup_threshold: 0.11
> #memtable_cleanup_threshold: 0.11
> {noformat}
> So, I uncommented that last line (figuring that 0.11 is a reasonable value).
> Cassandra.yaml should give better guidance or the code should *prevent* the 
> value from going outside a reasonable range.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to