# Set buffer size for each index respectively?

**URL:** <https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174>\
**Category:** Elasticsearch\
**Created:** [June 17, 2016, 4:35pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174 "2016-06-17T16:35:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![itplayer](https://avatars.discourse-cdn.com/v4/letter/i/d26b3c/32.png) [@itplayer](https://discuss.elastic.co/u/itplayer)\
**Post date:** [June 17, 2016, 4:35pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/1 "2016-06-17T16:35:47Z")

</div>

I know we have IndexBuffer as global setting for elasticsearch. But i wonder if there is any way to set different buffer size for those BIG index. (I'd like to reduce merge rate when indexing).  
Thanks for guiding.

---

<div class="post-metadata">

**Author:** ![jasontedor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jasontedor/32/66992_2.png) [@jasontedor](https://discuss.elastic.co/u/jasontedor)\
**Post date:** [June 18, 2016, 2:52am UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/2 "2016-06-18T02:52:00Z")

</div>

No, this is not possible. The indexing memory budget is shared across active shards.

---

<div class="post-metadata">

**Author:** ![itplayer](https://avatars.discourse-cdn.com/v4/letter/i/d26b3c/32.png) [@itplayer](https://discuss.elastic.co/u/itplayer)\
**Post date:** [June 23, 2016, 12:10pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/3 "2016-06-23T12:10:45Z")

</div>

OK, Thanks!

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [June 23, 2016, 12:35pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/4 "2016-06-23T12:35:22Z")

</div>

In 5.0 the buffer [changes](https://github.com/elastic/elasticsearch/pull/14121) from being split evenly with all active indexes to just being a big pool that is shared with all shards on the node. When an index request pushes it over the budget the shard that is taking up the most heap is flushed.

So I think you'll get what you want in 5.0.

---

<div class="post-metadata">

**Author:** ![itplayer](https://avatars.discourse-cdn.com/v4/letter/i/d26b3c/32.png) [@itplayer](https://discuss.elastic.co/u/itplayer)\
**Post date:** [June 23, 2016, 12:46pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/5 "2016-06-23T12:46:25Z")

</div>

@nik9000 Thanks for your information. Yes, it is what i thinking about. Bigger index should take more buffer not split budget evenly. Thanks for the team's hard working and wise decision.

---

<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 5, 2017, 10:41pm UTC](https://discuss.elastic.co/t/set-buffer-size-for-each-index-respectively/53174/6 "2017-07-05T22:41:05Z")

</div>


