# Need opinion on deploying es on a server

**URL:** <https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218>\
**Category:** Elasticsearch\
**Created:** [April 23, 2016, 7:03am UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218 "2016-04-23T07:03:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![satya\_fury](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@satya\_fury](https://discuss.elastic.co/u/satya_fury)\
**Post date:** [April 23, 2016, 7:03am UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/1 "2016-04-23T07:03:22Z")

</div>

Hi,  
I will be deploying a web application based on es on a single server , which we got at our disposal. Its has fair amount of RAM, around 64gigs and good enough processor.  
First I have a query regarding deploying multiple nodes of es. Is performance any way improved or effected if we are deploying multiple nodes on single server machine.  
If you think its good to do so, I have three options in mind. What do you think is the best one:

1. deploy four VMs with three dedicated to three nodes of es and one to my application server
2. deploy three nodes of es using docker images
3. deploy all the nodes of es on the server running on different ports

Thanks for your time,  
S

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [April 23, 2016, 7:54am UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/2 "2016-04-23T07:54:05Z")

</div>

Why not just a single instance?

---

<div class="post-metadata">

**Author:** ![satya\_fury](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@satya\_fury](https://discuss.elastic.co/u/satya_fury)\
**Post date:** [April 23, 2016, 11:16am UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/3 "2016-04-23T11:16:04Z")

</div>

Even i wanted to know the same. We have indexes running into a few millions of rows. So I was under an impression that multiple nodes will have some positive impact on the performance of es. Correct me if I am wrong.

---

<div class="post-metadata">

**Author:** ![softwaredoug](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/softwaredoug/32/22681_2.png) [@softwaredoug](https://discuss.elastic.co/u/softwaredoug)\
**Post date:** [April 23, 2016, 12:54pm UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/4 "2016-04-23T12:54:14Z")

</div>

It might have a positive impact if the index size is too large for a single  
box for your use case due to stressing the FS cache or ESs caches. It might  
also be faster if updates come in so fast they would be better load  
balanced against your a cluster. The Java client libs in particular can be  
very smart about this.

Otherwise it can very easily make things slower as searches need to  
coordinate across multiple nodes. You're adding extra hops to the query  
side.

This Qbox article on the topic is pretty good

> **[Load Balancing Elasticsearch Clusters](https://qbox.io/blog/load-balancing-elasticsearch-clusters)**
>
> Load balancing an Elasticsearch cluster is a good practice because a primary goal in ES configuration is a fault-tolerant system that's resilient to single node failures. All of us here at Qbox know that the load-balancing features of Elasticsearch...

---

<div class="post-metadata">

**Author:** ![Bruce\_Ritchie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bruce_ritchie/32/9370_2.png) [@Bruce\_Ritchie](https://discuss.elastic.co/u/Bruce_Ritchie)\
**Post date:** [April 23, 2016, 1:50pm UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/5 "2016-04-23T13:50:43Z")

</div>

64Gb of memory isn't all that much once you take into account FS cache with a decent sized index. I wouldn't recommend doing multi nodes on such a server - rather just do a bit of tuning and spread the I/O across multiple disks if you can.

I'm actually looking at doing option #3 but only because I have one very large machine (512Gb mem, 32 cores, etc) to work with. It's not what I would term as ideal but it's what I have to work with. This doc ([Can I run multiple Elasticsearch nodes on the same machine?](https://discuss.elastic.co/t/can-i-run-multiple-elaticsearch-nodes-on-the-same-machine/67)) does a great job of describing how to accomplish it.

---

<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:** [July 5, 2017, 10:56pm UTC](https://discuss.elastic.co/t/need-opinion-on-deploying-es-on-a-server/48218/6 "2017-07-05T22:56:48Z")

</div>


