I am trying to use the key cache, and I had some basic questions as to how it works. There seem to be settings based on % and total count, but not on total cache size like most caching mechanisms. Is the cache stored in the jvm heap or somewhere else? We have 24gb RAM nodes with a 8gb jvm heap size. Is the key cache sharing the 8gb heap or is it separate? Can we end up pushing out to swap if the key cache gets too big (if not in jvm)? We would prefer to set the jvm heap to 8gb and key cache to 8-10 gb, and then do some testing with cache hit rates to determine how many nodes we need to keep most keys in cache. High key cache hit rates are vital to good read performance, and we need some help to figure out the best way to optimize/design our cluster.
What is the the key cache capacity in cfstats? How is this calculated? I also see the stats get reset often and cache is cleared quite often, what triggers the flushing of key cache? Is it compaction? Given that our keys do not change too much we would prefer them to stay within cache as long as possible. We have a very wide data model so having all keys in cache is a realistic possibility for us, we just need some help figuring out how to design our cluster for this. We are currently testing with 4 nodes with replication factor of 3 (24gb ram 8 core), and we plan to expand the node count as required to fit most/all keys into memory. Thanks in advance for any help you can provide. Wayne