Running multiple instance per physical host/machine

(None) #1

Using ES 2.2.0

Hi, I have a decently beefy machine, 16 core (hyper threaded to 32) 128GB RAM.

I decided to deploy 3 instances of of 20G RAM each... Rather then 1 instance of 30G. So this gives me an additional 30G of RAM.

My understanding is that ES will allocate it's internal thread pools what ever they maybe, by usually using the number of cores or even 2x cores?

So if one thread pool within a single instance is 32 threads and we deploy total of 3 instances. Does that mean now that there will be 96 threads contending for CPU resources?

(tri-man) #2

You need to set the number of processors per instance in the elasticsearch.yml file.

You can set it to

processors: 4

since the server has 16 cores. Otherwise, they will compete for resources as you said.

(None) #3

So 4 and not 8 right? Because it 16 physical and 32 hyper threaded.

(tri-man) #4

I thought you meant 16 total :slight_smile:

8 should be fine too... as long as the total number of processors assigned to all instances less than the total system cores (HT included)

(None) #5

Cool this works good! :slight_smile:

(system) #6