My objective is to calculate how many index requests can a elasticsearch cluster hold in it's queue before starting rejecting it.
My elasticsearch cluster(v6.8) has 8 data nodes of r5.xlarge instance i.e. 4 vCPU's.
In the Elasticsearch documentation it is mentioned:
For index/delete operations. Thread pool type is
fixed
with a size of# of available processors
, queue_size of200
. The maximum size for this pool is1 + # of available processors
.
So, according to me each node has a thread pool of 4 as number of processors is 4. The queue size for the same is 200.
So for 8 nodes -> assuming all threads are busy servicing an index request -> My cluster can hold no. of nodes * queue size number of index requests in queue before it starts rejecting i.e. 8*200 = 1600.
Is my understanding correct?