I realized that ES 2.x has two types of caches (i. Node Query Cache, ii. Shard Request Cache)
What I really wanted is "Shard Request Cache" which is disabled by default, so that I'd like to enable it. Before enabling it, I'm wondering why "Shard Request Cache" is disabled by default and why it's size is so small (1% of heap size)
My question is..
Is there any performance loss if I enable shard query cache?
e.g) Cache lock contention or indexing rate decreases for any reasons.
Is 1% sufficient for shard level cache? if hard to answer, why is it small compared to "Node Query Cache" (10% of heap by default)
I'm using ES under the below circumstances:
ES 2.3.2
20GB of Heap
daily index (only today's index is indexed by 5k/sec)
Based on the usefulness of this cache and the vast range of use-cases this is a conservative default.
It is always hard to guess upfront whether you'll benefit from changing a setting. I suggest you create a benchmark and compare the two alternatives. Then you can make an educated guess. We develop a dedicated tool, called Rally for exactly that purpose.
Sorry to piggyback on another thread, but I have a very similar question --
Is there a way to enable this for an index template? It's not maintainable to have to set this setting for every daily index, as seen in the 'Shard Request cache' page.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.