cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: Worse perf after Row Caching version 1.2.5:
Date Thu, 13 Feb 2014 18:31:20 GMT
Thanks a lot Marcus. That explains it.

From: Marcus Eriksson []
Sent: Thursday, February 13, 2014 12:33 AM
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 <<>>
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.


CREATE TABLE "EnablerCreditReasonInfo" (
  key text PRIMARY KEY,
  "creditReasonDescription" text
  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'};

  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 [<>]
Sent: Tuesday, February 11, 2014 10:43 AM
Subject: Re: Worse perf after Row Caching version 1.2.5:


  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.



Jonathan Lacefield
Solutions Architect, DataStax
(404) 822 3487<tel:%28404%29%20822%203487>
[Image removed by sender.]<>

[Image removed by sender.]<>

On Tue, Feb 11, 2014 at 10:26 AM, PARASHAR, BHASKARJYA JAY <<>>

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.


View raw message