# Thread\_pool.size bigger than # processors

**URL:** <https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681>\
**Category:** Elasticsearch\
**Created:** [January 27, 2020, 3:11pm UTC](https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681 "2020-01-27T15:11:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rschirin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rschirin/32/45283_2.png) [@rschirin](https://discuss.elastic.co/u/rschirin)\
**Post date:** [January 27, 2020, 3:11pm UTC](https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681/1 "2020-01-27T15:11:42Z")

</div>

Hi,  
I would like to tune `thread_pool.size` value so I would like to understand what could happen if I will set a value bigger than the # of processors.  
For instance, I have a VM with 8 core so for `search.thread_pool` size is 13 (`int((# of available_processors * 3) / 2) + 1` ). is it possible to increase this value to a higher value (20)? what this could mean?  
furthermore, I would like to know the difference between `size` and `max`. using the [doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-thread-pool.html#cat-thread-pool-query-params) I am not sure concept is really clear.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [January 27, 2020, 3:29pm UTC](https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681/2 "2020-01-27T15:29:41Z")

</div>

It is possible to set this to a higher value, however this means, that you are potentially blocking other actions that are supposed to run, by needing more resources for the search thread pool.

max is the maximum number of threads, that have been active in this thread pool so far. If you ever only issues a single search, this might be one for example, or if there was never a need to utilize all threads.

Out of curiosity: Is there any concrete reason that makes you think tweaking thread pools is the gain for more performance instead of doing something else?

---

<div class="post-metadata">

**Author:** ![rschirin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rschirin/32/45283_2.png) [@rschirin](https://discuss.elastic.co/u/rschirin)\
**Post date:** [January 27, 2020, 3:43pm UTC](https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681/3 "2020-01-27T15:43:28Z")

</div>

so, if `size` is set to 13 on that specific node I can have concurrently only 13 `search` active thread, isn't it?  
and, if I have a cluster with 3 Master and 2 Coordinating Only my max value will be 13 \* 5, correct?

I am sure that to improve performance I have to rewrite query but I would like to understand if I using my VM's resources fully or not.

---

<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:** [February 24, 2020, 3:43pm UTC](https://discuss.elastic.co/t/thread-pool-size-bigger-than-processors/216681/4 "2020-02-24T15:43:30Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
