# Cache.size and breaker limits on client-only nodes vs. data-only nodes

**URL:** <https://discuss.elastic.co/t/cache-size-and-breaker-limits-on-client-only-nodes-vs-data-only-nodes/24673>\
**Category:** Elasticsearch\
**Created:** [July 1, 2015, 12:38am UTC](https://discuss.elastic.co/t/cache-size-and-breaker-limits-on-client-only-nodes-vs-data-only-nodes/24673 "2015-07-01T00:38:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chris\_Neal](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chris_neal/32/3527_2.png) [@Chris\_Neal](https://discuss.elastic.co/u/Chris_Neal)\
**Post date:** [July 1, 2015, 12:38am UTC](https://discuss.elastic.co/t/cache-size-and-breaker-limits-on-client-only-nodes-vs-data-only-nodes/24673/1 "2015-07-01T00:38:15Z")

</div>

Hi again all,

As the subject indicates, I'm splitting the roles of my cluster into a single role per JVM. In doing so, I'm re-evaluating all my settings in my elasticsearch.yml file to make sure what I have is appropriate for the different node roles.

I'm not sure what I should have with regards to these values between client-only and data-only nodes, based on what activities happens on each:

```
indices.fielddata.cache.size
indices.breaker.total.limit
indices.breaker.request.limit
indices.breaker.fielddata.limit
indices.memory.index_buffer_size

```

Are some appropriate for client-only, and some for data-only? Or is there a reason to specify them all on both node types?

I believe I understand correctly that indexing happens on the data-only nodes, but the indexing requests themselves go to the client nodes first, and searching happens in the client-only nodes. So I'm not sure how to make best use of my heap on each of those node types.

I'm thinking I want to maximize all "search related" breakers/cache.size on the clients, and maximize indexing-related settings on the data nodes.

Perhaps something like:  
Data-only:

```
indices.breaker.total.limit: 70% (the default)
indices.memory.index_buffer_size: 30% 

```

Client-only:

```
indices.fielddata.cache.size: 60%
indices.breaker.total.limit: 75%
indices.breaker.request.limit: 50%
indices.breaker.fielddata.limit: 65%

```

I'd definitely appreciate some advice on this one. Am I close to on-track? 😄  
Thanks very much!  
Chris

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [July 2, 2015, 3:26am UTC](https://discuss.elastic.co/t/cache-size-and-breaker-limits-on-client-only-nodes-vs-data-only-nodes/24673/2 "2015-07-02T03:26:05Z")

</div>

This will depend on your datasets really, but it'd be worth testing.

Don't also forget that you can set heap to \>50% of heap for client nodes, as they don't need to worry about any FS caching. We'd suggest not going beyond 75% though.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:04am UTC](https://discuss.elastic.co/t/cache-size-and-breaker-limits-on-client-only-nodes-vs-data-only-nodes/24673/3 "2017-07-06T00:04:02Z")

</div>


