You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Albert P Tobey (JIRA)" <ji...@apache.org> on 2015/08/03 08:23:05 UTC

[jira] [Comment Edited] (CASSANDRA-9946) use ioprio_set on compaction threads by default instead of manually throttling

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

Albert P Tobey edited comment on CASSANDRA-9946 at 8/3/15 6:22 AM:
-------------------------------------------------------------------

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.

I agree with Ariel and usually advise people to always use the deadline io scheduler, but ...

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.


was (Author: atobey@datastax.com):
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)