Thanks, Jonathan. I got it.

2012-02-17 



zhangcheng 



发件人: Jonathan Ellis 
发送时间: 2012-02-17  10:15:05 
收件人: user 
抄送: 
主题: Re: Key cache hit rate issue 
 
Look for this code in SSTableReader.getPosition:
            Pair<Descriptor, DecoratedKey> unifiedKey = new
Pair<Descriptor, DecoratedKey>(descriptor, decoratedKey);
            Long cachedPosition = getCachedPosition(unifiedKey, true);
On Thu, Feb 16, 2012 at 4:23 PM, Todd Burruss <bburr...@expedia.com> wrote:
> jonathan, you said the key to the cache is key + sstable?  looking at the
> code it looks like a DecoratedKey is the "row key".  how does sstable come
> into play?
>
> On 2/16/12 1:20 PM, "Jonathan Ellis" <jbel...@gmail.com> wrote:
>
>>So, you have roughly 1/6 of your (physical) row keys cached and about
>>1/4 cache hit rate, which doesn't sound unreasonable to me.  Remember,
>>each logical key may be spread across multiple physical sstables --
>>each (key, sstable) pair is one entry in the key cache.
>>
>>On Thu, Feb 16, 2012 at 1:48 PM, Eran Chinthaka Withana
>><eran.chinth...@gmail.com> wrote:
>>> Hi Aaron,
>>>
>>> Here it is.
>>>
>>> Keyspace: XXXX
>>> Read Count: 1123637972
>>> Read Latency: 5.757938114343114 ms.
>>> Write Count: 128201833
>>> Write Latency: 0.0682576607387509 ms.
>>> Pending Tasks: 0
>>> Column Family: YY
>>> SSTable count: 18
>>> Space used (live): 103318720685
>>> Space used (total): 103318720685
>>> Number of Keys (estimate): 92404992
>>> Memtable Columns Count: 1425580
>>> Memtable Data Size: 359655747
>>> Memtable Switch Count: 2522
>>> Read Count: 1123637972
>>> Read Latency: 14.731 ms.
>>> Write Count: 128201833
>>> Write Latency: NaN ms.
>>> Pending Tasks: 0
>>> Bloom Filter False Postives: 1488
>>> Bloom Filter False Ratio: 0.00000
>>> Bloom Filter Space Used: 331522920
>>> Key cache capacity: 16637958
>>> Key cache size: 16637958
>>> Key cache hit rate: 0.2708333333333333
>>> Row cache: disabled
>>> Compacted row minimum size: 51
>>> Compacted row maximum size: 6866
>>> Compacted row mean size: 2560
>>>
>>> Thanks,
>>> Eran Chinthaka Withana
>>>
>>>
>>>
>>> On Thu, Feb 16, 2012 at 12:30 AM, aaron morton <aa...@thelastpickle.com>
>>> wrote:
>>>>
>>>> Its in the order of 261 to 8000 and the ratio is 0.00. But i guess
>>>>8000 is
>>>> bit high. Is there a way to fix/improve it?
>>>>
>>>> Sorry I don't understand what you mean. But if the ratio is 0.0 all is
>>>> good.
>>>>
>>>> Could you include the full output from cfstats for the CF you are
>>>>looking
>>>> at ?
>>>>
>>>> Cheers
>>>>
>>>> -----------------
>>>> Aaron Morton
>>>> Freelance Developer
>>>> @aaronmorton
>>>> http://www.thelastpickle.com
>>>>
>>>> On 15/02/2012, at 1:00 PM, Eran Chinthaka Withana wrote:
>>>>
>>>> Its in the order of 261 to 8000 and the ratio is 0.00. But i guess
>>>>8000 is
>>>> bit high. Is there a way to fix/improve it?
>>>>
>>>> Thanks,
>>>> Eran Chinthaka Withana
>>>>
>>>>
>>>> On Tue, Feb 14, 2012 at 3:42 PM, aaron morton <aa...@thelastpickle.com>
>>>> wrote:
>>>>>
>>>>> Out of interest what does cfstats say about the bloom filter stats ? A
>>>>> high false positive could lead to a low key cache hit rate.
>>>>>
>>>>> Also, is there a way to warm start the key cache, meaning pre-load the
>>>>> amount of keys I set as keys_cached?
>>>>>
>>>>> See key_cache_save_period when creating the CF.
>>>>>
>>>>> Cheers
>>>>>
>>>>>
>>>>> -----------------
>>>>> Aaron Morton
>>>>> Freelance Developer
>>>>> @aaronmorton
>>>>> http://www.thelastpickle.com
>>>>>
>>>>> On 15/02/2012, at 5:54 AM, Eran Chinthaka Withana wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm using Cassandra 1.0.7 and I've set the keys_cached to about 80%
>>>>> (using the numerical values). This is visible in cfstats too. But I'm
>>>>> getting less than 20% (or sometimes even 0%) key cache hit rate.
>>>>>Well, the
>>>>> data access pattern is not the issue here as I know they are
>>>>>retrieving the
>>>>> same row multiple times. I'm using hector client with dynamic load
>>>>>balancing
>>>>> policy with consistency ONE for both reads and writes. Any ideas on
>>>>>how to
>>>>> find the issue and fix this?
>>>>>
>>>>> Here is what I see on cfstats.
>>>>>
>>>>> Key cache capacity: 16637958
>>>>> Key cache size: 16637958
>>>>> Key cache hit rate: 0.045454545454545456
>>>>>
>>>>> Also, is there a way to warm start the key cache, meaning pre-load the
>>>>> amount of keys I set as keys_cached?
>>>>>
>>>>> Thanks,
>>>>> Eran
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>>--
>>Jonathan Ellis
>>Project Chair, Apache Cassandra
>>co-founder of DataStax, the source for professional Cassandra support
>>http://www.datastax.com
>
-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Reply via email to