* Check for GC activity in the logs
* check the volume the commit log is on to see it it's over utilised. 
* check if the dropped messages correlate to compaction, look at the 
compaction_* settings in yaml and consider reducing the throughput. 

Like Dean says if you have existing data it will result in more compaction. You 
may be able to get a lot of writes through in a clean new cluster, but it also 
has to work when compaction and repair are running. 

Cheers

-----------------
Aaron Morton
Freelance Cassandra Consultant
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 27/03/2013, at 1:43 PM, Jay Svc <jaytechg...@gmail.com> wrote:

> Thanks Dean again!
>  
> My use case is high number of reads and writes out of that I am just focusing 
> on write now. I thought LCS is a suitable for my situation. I tried simillar 
> on STCS and results are same.
>  
> I ran nodetool for tpstats and MutationStage pending are very high. At the 
> same time the SSTable count and Pending Compaction are high too during my 
> updates.
>  
> Please find the snapshot of my syslog.
>  
> INFO [ScheduledTasks:1] 2013-03-26 15:05:48,560 StatusLogger.java (line 116) 
> OpsCenter.rollups86400                    0,0
> INFO [FlushWriter:55] 2013-03-26 15:05:48,608 Memtable.java (line 264) 
> Writing Memtable-InventoryPrice@1051586614(11438914/129587272 serialized/live 
> bytes, 404320 ops)
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,561 MessagingService.java (line 
> 658) 2701 MUTATION messages dropped in last 5000ms
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,562 StatusLogger.java (line 57) 
> Pool Name                    Active   Pending   Blocked
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,563 StatusLogger.java (line 72) 
> ReadStage                         0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,568 StatusLogger.java (line 72) 
> RequestResponseStage              0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,627 StatusLogger.java (line 72) 
> ReadRepairStage                   0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,627 StatusLogger.java (line 72) 
> MutationStage                    32     19967         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,628 StatusLogger.java (line 72) 
> ReplicateOnWriteStage             0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,628 StatusLogger.java (line 72) 
> GossipStage                       0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,628 StatusLogger.java (line 72) 
> AntiEntropyStage                  0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,629 StatusLogger.java (line 72) 
> MigrationStage                    0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,629 StatusLogger.java (line 72) 
> StreamStage                       0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,629 StatusLogger.java (line 72) 
> MemtablePostFlusher               1         1         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,673 StatusLogger.java (line 72) 
> FlushWriter                       1         1         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,673 StatusLogger.java (line 72) 
> MiscStage                         0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,673 StatusLogger.java (line 72) 
> commitlog_archiver                0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,674 StatusLogger.java (line 72) 
> InternalResponseStage             0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,674 StatusLogger.java (line 72) 
> HintedHandoff                     0         0         0
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,674 StatusLogger.java (line 77) 
> CompactionManager                 1        27
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,675 StatusLogger.java (line 89) 
> MessagingService                n/a      0,22
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,724 StatusLogger.java (line 99) 
> Cache Type                     Size                 Capacity               
> KeysToSave                                                         Provider
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,725 StatusLogger.java (line 100) 
> KeyCache                     142315                  2118997                  
>     all                                                                
>  INFO [ScheduledTasks:1] 2013-03-26 15:05:53,725 StatusLogger.java (line 106) 
> RowCache                          0                        0                  
>     all              org.apache.cassandra.cache.SerializingCacheProvider
> INFO [ScheduledTasks:1] 2013-03-26 15:05:53,725 StatusLogger.java (line 113) 
> ColumnFamily                Memtable ops,data
> INFO [ScheduledTasks:1] 2013-03-26 15:0
>  
> Thanks,
> Jay
>  
>  
> 
> 
> On Tue, Mar 26, 2013 at 7:15 PM, Hiller, Dean <dean.hil...@nrel.gov> wrote:
> LCS is generally used for high read vs. write ratio though it sounds like you 
> may be doing a heavy write load instead.  LCS will involve more compactions 
> as you write to the system compared to STCS because LCS is always trying to 
> keep a 1 to 10 ratio between levels.  While LCS will involve more compaction 
> in general(more I/o, more cpu), I am not sure on update vs. insert though 
> From what I understand STCS will happily duplicate rows across SS tables 
> while LCS does not like to do this so as you update you will constantly 
> compact….well, that is my understanding.  Have you tried STCS out at all?  
> (ps. This is just from what I understand so take with a grain of salt).
> 
> Also, there are some great tools in the nodetool tool as well so you can get 
> nodetool compactionstats, etc. etc. and see how backlogged you are in pending 
> tasks….how many pending?
> 
> Later,
> Dean
> 
> From: Jay Svc <jaytechg...@gmail.com<mailto:jaytechg...@gmail.com>>
> Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
> <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
> Date: Tuesday, March 26, 2013 6:08 PM
> To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
> <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
> Subject: Re: Insert v/s Update performance
> 
> Thanks Dean,
> 
> I have used LCS with sstable_size_in_mb of 15. I have also tried bigger 
> sstable_size_in_mb and observed simillar behavior.
> 
> Does compaction works differently for update v/s Insert? I belive all keys 
> goes to single SST. What other options I should look into?
> 
> Thanks,
> Jay
> 
> 
> 
> 
> On Tue, Mar 26, 2013 at 6:18 PM, Hiller, Dean 
> <dean.hil...@nrel.gov<mailto:dean.hil...@nrel.gov>> wrote:
> Most likely compaction kicks in as updates cause duplicated rows in STCS and 
> compaction causes load that may not have been there before(check your logs).  
> Also, you can increase the number of nodes in your cluster as well to better 
> handle the load.
> 
> Later,
> Dean
> 
> From: Jay Svc 
> <jaytechg...@gmail.com<mailto:jaytechg...@gmail.com><mailto:jaytechg...@gmail.com<mailto:jaytechg...@gmail.com>>>
> Reply-To: 
> "user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>"
>  
> <user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>>
> Date: Tuesday, March 26, 2013 5:05 PM
> To: 
> "user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>"
>  
> <user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>>
> Subject: Insert v/s Update performance
> 
> Hi Team,
> 
> I have this 3 node cluster. I am writing data to these node at the rate of 
> 2,000 records/second. What I observed that if I do inserts. (Means records 
> for those keys does not exist, my column family has 0 records to start with) 
> then I have better write performacne, low SSTable count, low pending 
> compaction and write latency is acceptable and CPU utilization on each node 
> between 35% to 85%.
> 
> When I ran same test but for update this time (means records already exists 
> in Column family with same key), I observed that my SSTable count gone high 3 
> times. Pending compactions gone high more than 2 times and write latency has 
> gone high too and CPU utilization was almost 92% to 100%.
> 
> What is a reason of deteriorating Update performance v/s Insert performance. 
> Since this is critical you help is highly appriciated.
> 
> P.S. I also observed that high number of pending Mutation Stage on my 
> nodetool tpstats.
> 
> Thanks,
> Jay
> 
> 

Reply via email to