On my 3-node cluster (v1.2.8) with 4-cores each and SSDs for commitlog and data, I get high CPU loads during a heavy-ish wide-row insert load into a single CF (5000 1k inserts/sec), e.g. uptime load avg for last minute 18/11/10. Checking tpstats, I see MutationStage pending on all the nodes, e.g.:

Pool Name                    Active   Pending      Completed   Blocked  All 
time blocked
ReadStage                         0         0            144         0          
       0
RequestResponseStage              0         0         243529         0          
       0
MutationStage                     1         9         290394         0          
       0
ReadRepairStage                   0         0              0         0          
       0
ReplicateOnWriteStage             0         0              0         0          
       0
GossipStage                       0         0           1014         0          
       0
AntiEntropyStage                  0         0              0         0          
       0
MigrationStage                    0         0             13         0          
       0
MemtablePostFlusher               1         2             35         0          
       0
FlushWriter                       1         2             20         0          
       0
MiscStage                         0         0              1         0          
       0
commitlog_archiver                0         0              0         0          
       0

I can't seem find information about the real meaning of MutationStage, is this just normal for lots of inserts?

Also, switching from spinning disks to SSDs didn't seem to significantly improve insert performance, so it seems clear my use-case it totally CPU-bound. Cassandra docs say "Insert-heavy workloads are CPU-bound in Cassandra before becoming memory-bound.", so I guess that's what I'm seeing, but there's no explanation. So I'm wonder what's overloading my CPUs, and is there anything I can do about it short of adding more nodes?

.

Reply via email to