Thanks for that clarification Sebastian! That's really good to know! I
never took increasing this value in consideration because of my previous
experience.

In my case I had a table that was compacting over and over... and only one
CPU was used. So that made me believe it was not multithreaded (I actually
believe I asked this on IRC however it's been a few months ago so I might
be wrong).

Have there been behavioral changes on this lately? (I was using 2.0.9 or
2.0.11 I believe).

2016-01-21 14:15 GMT+01:00 Sebastian Estevez <sebastian.este...@datastax.com
>:

> >So compaction of one table will NOT spread over different cores.
>
> This is not exactly true. You actually can have multiple compactions
> running at the same time on the same table, it just doesn't happen all that
> often. You essentially would have to have two sets of sstables that are
> both eligible for compactions at the same time.
>
> all the best,
>
> Sebastián
> On Jan 21, 2016 7:41 AM, "PenguinWhispererThe ." <
> th3penguinwhispe...@gmail.com> wrote:
>
>> After having some issues myself with compaction I think it's noteworthy
>> to explicitly state that compaction of a table can only run on one CPU. So
>> compaction of one table will NOT spread over different cores.
>> To really have use of concurrent_compactors you need to have multiple
>> table compactions initiated at the same time. If those are small they'll
>> finish way earlier resulting in only one core using 100% as compaction is
>> generally CPU bound (unless your disks can't keep up).
>> I believe it's better to be CPU(core) bound on one core(or at least not
>> all) for compaction than disk IO bound as this would result in writes and
>> reads, ... having performance impact.
>> Compaction is a maintenance task so it shouldn't be eating all your
>> resources.
>>
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>  This
>> email has been sent from a virus-free computer protected by Avast.
>> www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>> <#1162782367_-1582318301_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> 2016-01-16 0:18 GMT+01:00 Kai Wang <dep...@gmail.com>:
>>
>>> Jeff & Sebastian,
>>>
>>> Thanks for the reply. There are 12 cores but in my case C* only uses one
>>> core most of the time. *nodetool compactionstats* shows there's only
>>> one compactor running. I can see C* process only uses one core. So I guess
>>> I should've asked the question more clearly:
>>>
>>> 1. Is ~25 M/s a reasonable compaction throughput for one core?
>>> 2. Is there any configuration that affects single core compaction
>>> throughput?
>>> 3. Is concurrent_compactors the only option to parallelize compaction?
>>> If so, I guess it's the compaction strategy itself that decides when to
>>> parallelize and when to block on one core. Then there's not much we can do
>>> here.
>>>
>>> Thanks.
>>>
>>> On Fri, Jan 15, 2016 at 5:23 PM, Jeff Jirsa <jeff.ji...@crowdstrike.com>
>>> wrote:
>>>
>>>> With SSDs, the typical recommendation is up to 0.8-1 compactor per core
>>>> (depending on other load).  How many CPU cores do you have?
>>>>
>>>>
>>>> From: Kai Wang
>>>> Reply-To: "user@cassandra.apache.org"
>>>> Date: Friday, January 15, 2016 at 12:53 PM
>>>> To: "user@cassandra.apache.org"
>>>> Subject: compaction throughput
>>>>
>>>> Hi,
>>>>
>>>> I am trying to figure out the bottleneck of compaction on my node. The
>>>> node is CentOS 7 and has SSDs installed. The table is configured to use
>>>> LCS. Here is my compaction related configs in cassandra.yaml:
>>>>
>>>> compaction_throughput_mb_per_sec: 160
>>>> concurrent_compactors: 4
>>>>
>>>> I insert about 10G of data and start observing compaction.
>>>>
>>>> *nodetool compaction* shows most of time there is one compaction.
>>>> Sometimes there are 3-4 (I suppose this is controlled by
>>>> concurrent_compactors). During the compaction, I see one CPU core is 100%.
>>>> At that point, disk IO is about 20-25 M/s write which is much lower than
>>>> the disk is capable of. Even when there are 4 compactions running, I see
>>>> CPU go to +400% but disk IO is still at 20-25M/s write. I use *nodetool
>>>> setcompactionthroughput 0* to disable the compaction throttle but
>>>> don't see any difference.
>>>>
>>>> Does this mean compaction is CPU bound? If so 20M/s is kinda low. Is
>>>> there anyway to improve the throughput?
>>>>
>>>> Thanks.
>>>>
>>>
>>>
>>

Reply via email to