# Does elasticsearch cluster assume all nodes have the same hardwares?

**URL:** <https://discuss.elastic.co/t/does-elasticsearch-cluster-assume-all-nodes-have-the-same-hardwares/155641>\
**Category:** Elasticsearch\
**Created:** [November 7, 2018, 1:23am UTC](https://discuss.elastic.co/t/does-elasticsearch-cluster-assume-all-nodes-have-the-same-hardwares/155641 "2018-11-07T01:23:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jianzhou\_Z](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jianzhou_z/32/46751_2.png) [@Jianzhou\_Z](https://discuss.elastic.co/u/Jianzhou_Z)\
**Post date:** [November 7, 2018, 1:23am UTC](https://discuss.elastic.co/t/does-elasticsearch-cluster-assume-all-nodes-have-the-same-hardwares/155641/1 "2018-11-07T01:23:01Z")

</div>

In my cluster, there are two kinds of nodes  
type A) 32CPU, 60G Mem, 700G SSD, 10G network  
type B) 36CPU, 70G Mem, 900G SSD, 10G network

I found when I send queries to the cluster in a faster speed

- type B runs 50 processes, the # of TLB shootdown interrupts goes to 14/s
- type A runs 40 processes, the # of TLB shootdown interrupts goes to 80/s, and Hypervisor callback interrupts goes to 100/s. Type A is more busy.

Based on my understanding of ES query scheduling, query load are distributed to shards on different nodes in a round robin way. In my case, all nodes have similar numbers of shards. So although nodes have different computation ability, they may get the similar work to do?

I also assume queries are sent to nodes concurrently. New queries do not need to wait until old queries are done. Given this, if my cluster over-estimated type A node's power, it could send more tasks.

Is it what happened?

---

<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:** [November 7, 2018, 1:51am UTC](https://discuss.elastic.co/t/does-elasticsearch-cluster-assume-all-nodes-have-the-same-hardwares/155641/2 "2018-11-07T01:51:47Z")

</div>

> [@Jianzhou\_Z](#):
>
> So although nodes have different computation ability, they may get the similar work to do?

Yes.

> [@Jianzhou\_Z](#):
>
> I also assume queries are sent to nodes concurrently.

Yes.

> [@Jianzhou\_Z](#):
>
> New queries do not need to wait until old queries are done.

Maybe. If all the active query threads are busy then things will be loaded into the threadpool and processed as soon as they can be.

> [@Jianzhou\_Z](#):
>
> Given this, if my cluster over-estimated type A node's power, it could send more tasks.

The cluster has no concept of node power. It does assume all nodes are the same specs.

You may want to look at [Search APIs | Elasticsearch Guide [6.4] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search.html#search-adaptive-replica)

---

<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:** [December 5, 2018, 1:52am UTC](https://discuss.elastic.co/t/does-elasticsearch-cluster-assume-all-nodes-have-the-same-hardwares/155641/3 "2018-12-05T01:52:09Z")

</div>

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