Elasticsearch has a thread pool for all the major modules. Each thread pool has a queue associated with the pool. For example, if the index thread pool receives more requests than it can process, the requests are queued up. If the queue is full, the request is rejected. Watching for the number of requests in the queue is important. If the requests are frequently queued, the response times are degraded. The pool size is calculated based on the available processors. The important thread pools are as follows:
Thread pool | Description |
index | This is used for index and delete operations. It has a queue size of 200. |
search | This is used for search operations. It has a queue size of 1,000. |
bulk | This is used for bulk operations. It has a queue size of 50. |
refresh | This is used for refresh operations. |
Note that if the queue is full, the request is rejected with an...