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

Albert P Tobey commented on CASSANDRA-9946:
-------------------------------------------

Here's a script for pinning compaction to cores and ionice in one go: 
https://gist.github.com/tobert/97c52f80fdff2ba79ee9

Comment out the 'taskset' line to mess with ionice in isolation.

FWIW I think it's possible to tune up CFQ to be acceptable. There isn't a lot 
of existing advice on the internet about how to do it, but it's doable. I've 
seen some references in various Redhat low-latency guides but have yet to try 
it out. Even if many users choose deadline/noop for peak throughput, others may 
prefer the performance tradeoff of CFQ if there is a payback of more 
predictable/smooth performance.

That's not to mention the large number of setups that never tweak the disk 
scheduler at all. Setting compaction IO to idle class will benefit some folks 
and doesn't hurt those on noop/deadline.

> use ioprio_set on compaction threads by default instead of manually throttling
> ------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9946
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9946
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Ariel Weisberg
>             Fix For: 3.x
>
>
> Compaction throttling works as designed, but it has two drawbacks:
> * it requires manual tuning to choose the "right" value for a given machine
> * it does not allow compaction to "burst" above its limit if there is 
> additional i/o capacity available while there are less application requests 
> to serve
> Using ioprio_set instead solves both of these problems.



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

Reply via email to