Thread_pool.size bigger than # processors

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 I am not sure concept is really clear.

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?

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.

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