# ElasticSearch performance with some real world values

**URL:** <https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324>\
**Category:** Elasticsearch\
**Created:** [April 13, 2017, 3:35pm UTC](https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324 "2017-04-13T15:35:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vespira](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vespira/32/17336_2.png) [@Vespira](https://discuss.elastic.co/u/Vespira)\
**Post date:** [April 13, 2017, 3:35pm UTC](https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324/1 "2017-04-13T15:35:34Z")

</div>

Hi everyone,

My name is Alex and I'm a fullstack developer. I have to host an ElasticSearch cluster which main role will be to serve data for Java client applications. I've noticed that a lot of things are well documented for ES, but I didn't found much explanations when it came to defining VM hardware config and cluster configuration to address needs.

However, I have to say that this article is well written and made my vision more clear about that : [https://www.elastic.co/blog/found-sizing-elasticsearch](https://www.elastic.co/blog/found-sizing-elasticsearch)

Let me explain you what we are expecting 😄

- We have an index of less than 1 millions of documents.
- We will have 3 VMs available for the project (1 which will act as a reverse proxy to authenticate queries through HAProxy, and 2 which will host each an ES node).

In theory, we have a bit more than 9000 clients apps in the wild, and they will be making to the maximum, 100 requests per day, on a 12h time range. So :  
9000 \* 100 = 900 000  
900 000/12 = 75 000 requests/hour -\> 75 000/3600 = 21 requests/second (max)

The queries that we will do are basic search operation (no aggregations, no intelligence, ...) : only full-text search and wildcard on one or more fields.

We plan to build our VM for ES to : 4GB RAM, 2-core classic CPU and 20 GB of storage, running under CentOS. These will be dedicated only to run ES.

Are this config coherent with our approx. max. load ? How many primary and replica shards should we create for the index ? is 2 nodes not concerned by the split-brain issue if our HAProxy do the loadbalancing and the failover on a highest level ?

Thanks a lot for reading this and for your pro tips !  
PS: I ❤ ElasticSearch, but I'm quite a noob when it comes to build a complete cluster optimized for our need)

---

<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 17, 2017, 5:57am UTC](https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324/2 "2017-04-17T05:57:57Z")

</div>

> [@Vespira](#):
>
> We will have 3 VMs available for the project (1 which will act as a reverse proxy to authenticate queries through HAProxy, and 2 which will host each an ES node).

That's not ideal, you want 3 nodes for HA and redundancy.

> [@Vespira](#):
>
> Are this config coherent with our approx. max. load ?

The best way to tell would be to build your cluster and then run [GitHub - elastic/rally: Macrobenchmarking framework for Elasticsearch](https://github.com/elastic/rally) with your data and queries.

> [@Vespira](#):
>
> How many primary and replica shards should we create for the index ?

Depends, but with a dataset that small you can run a complete set on each node.

> [@Vespira](#):
>
> is 2 nodes not concerned by the split-brain issue if our HAProxy do the loadbalancing and the failover on a highest level ?

Nope, see my initial comment.

---

<div class="post-metadata">

**Author:** ![Vespira](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vespira/32/17336_2.png) [@Vespira](https://discuss.elastic.co/u/Vespira)\
**Post date:** [April 19, 2017, 9:04am UTC](https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324/3 "2017-04-19T09:04:04Z")

</div>

Hi Mark,

Thanks for the response, with your message and my researchs, my overview of this project has came to a maturity. I went for 2 Haproxy VMs and 3 ES VM's for my total cluster.

And I will give a shot to Rally, I was trying to configure Burp Proxy to do my tests, but it's kind of a pain in the ass with the security layer I've added.

Have a nice day,  
Alex

---

<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:** [May 17, 2017, 9:11am UTC](https://discuss.elastic.co/t/elasticsearch-performance-with-some-real-world-values/82324/4 "2017-05-17T09:11:23Z")

</div>

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