Thanks a lot Marcus. That explains it. From: Marcus Eriksson [mailto:krum...@gmail.com] Sent: Thursday, February 13, 2014 12:33 AM To: user@cassandra.apache.org Subject: Re: Worse perf after Row Caching version 1.2.5:
"select * from <table>" will not populate row cache, but if the row is cached, it will be used. You need to use "select * from table where X=Y" to populate row cache. when setting caching = "rows_only" you disable key cache which might hurt your performance. On Wed, Feb 12, 2014 at 9:05 PM, PARASHAR, BHASKARJYA JAY <bp1...@att.com<mailto:bp1...@att.com>> wrote: Thanks Jonathan, I have the cfstats but our prod team has changed some configs after my post and I do not have the cfhistograms information now. No Of nodes: 3 Ram: 472GB Cassandra version: 1.2.5 I am pasting the cfstats below. Regards Jay CREATE TABLE "EnablerCreditReasonInfo" ( key text PRIMARY KEY, "creditReasonDescription" text ) WITH COMPACT STORAGE AND bloom_filter_fp_chance=0.010000 AND caching='ROWS_ONLY' AND comment='' AND dclocal_read_repair_chance=0.000000 AND gc_grace_seconds=864000 AND read_repair_chance=0.100000 AND replicate_on_write='true' AND populate_io_cache_on_flush='false' AND compaction={'class': 'SizeTieredCompactionStrategy'} AND compression={'sstable_compression': 'SnappyCompressor'}; CFStats Column Family: EnablerCreditReasonInfo SSTable count: 3 Space used (live): 108067 Space used (total): 108067 Number of Keys (estimate): 1920 Memtable Columns Count: 0 Memtable Data Size: 0 Memtable Switch Count: 0 Read Count: 0 Read Latency: NaN ms. Write Count: 0 Write Latency: NaN ms. Pending Tasks: 0 Bloom Filter False Positives: 0 Bloom Filter False Ratio: 0.00000 Bloom Filter Space Used: 2232 Compacted row minimum size: 61 Compacted row maximum size: 149 Compacted row mean size: 100 From: Jonathan Lacefield [mailto:jlacefi...@datastax.com<mailto:jlacefi...@datastax.com>] Sent: Tuesday, February 11, 2014 10:43 AM To: user@cassandra.apache.org<mailto:user@cassandra.apache.org> Subject: Re: Worse perf after Row Caching version 1.2.5: Hello, Please paste the output of cfhistograms for these tables. Also, what does your environment look like, number of nodes, disk drive configs, memory, C* version, etc. Thanks, Jonathan Jonathan Lacefield Solutions Architect, DataStax (404) 822 3487<tel:%28404%29%20822%203487> [Image removed by sender.]<http://www.linkedin.com/in/jlacefield> [Image removed by sender.]<http://www.datastax.com/what-we-offer/products-services/training/virtual-training> On Tue, Feb 11, 2014 at 10:26 AM, PARASHAR, BHASKARJYA JAY <bp1...@att.com<mailto:bp1...@att.com>> wrote: Hi, I have two tables and I enabled row caching for both of them using CQL. These two CF's are very small with one about 300 rows and other < 2000 rows. The rows themselves are small. Cassandra heap: 8gb. a. alter table TABLE_X with caching = 'rows_only'; b. alter table TABLE_Y with caching = 'rows_only'; I also changed row_cache_size_in_mb: 1024 in the Cassandra.yaml file. After extensive testing, it seems the performance of Table_X degraded from 600ms to 750ms and Table_Y gained about 10 ms (from 188ms to 177 ms). More Info Table X is always queried with "Select * from Table_X"; Cfstats in Table_X shows Read Latency: NaN ms. I assumed that since we select all the rows, the entire table would be cached. Table_Y has a secondary index and is queried on that index. Would appreciate any input why the performance is worse and how to enable row caching for these two tables. Thanks Jay
<<inline: image001.jpg>>