﻿---
title: Loaded Data Warm Nodes
description: Describes what AutoOps detects and surfaces with the Loaded Data Warm Nodes insight: Warm-tier data nodes exhibit uneven CPU or load compared with peers on the same tier.
url: https://docs-v3-preview.elastic.dev/elastic/autoops-insights/tree/main/elasticsearch/loaded_data_warm_nodes
products:
  - Elastic Cloud Enterprise
  - Elastic Cloud Hosted
  - Elastic Cloud on Kubernetes
  - Elasticsearch
applies_to:
  - Elastic Cloud Hosted: Generally available
  - Elastic Cloud on Kubernetes: Generally available
  - Elastic Cloud Enterprise: Generally available
  - Self-managed Elastic deployments: Generally available
---

# Loaded Data Warm Nodes
Warm-tier data nodes exhibit uneven CPU or load compared with peers on the same tier. Even on warm data, a few overloaded nodes can degrade search and background tasks.
<note>
  For a complete list of insights, refer to [AutoOps insights](https://docs-v3-preview.elastic.dev/elastic/autoops-insights/tree/main/elasticsearch).
</note>


## Insight details


| Field     | Value                             |
|-----------|-----------------------------------|
| Component | Elasticsearch                     |
| Severity  | Medium                            |
| Scope     | Node                              |
| Domains   | performance, resource-utilization |


## Customization settings

You can customize these settings to adjust when AutoOps detects this event and presents the insight. Refer to [AutoOps event settings](https://docs-v3-preview.elastic.dev/elastic/docs-content/tree/main/deploy-manage/monitor/autoops/ec-autoops-event-settings) for details.
The default customization settings are:

| Setting                                                     | Type    | Default |
|-------------------------------------------------------------|---------|---------|
| Loaded node load percent above baseline for data warm nodes | Integer | 180     |
| Successive samplings to trigger                             | Integer | 3       |
| The minimum value to consider as high for data warm nodes   | Integer | 1       |
| Search queue threshold                                      | Integer | 5       |
| Write queue threshold                                       | Integer | 1       |

<tip>
  Raising these thresholds reduces noise but delays detection. Lowering them triggers the insight sooner but can increase alerts during minor blips.
</tip>


## Example: What you might see in AutoOps

The following is an example of what you might see when this insight is triggered. Real insights use live data and links from your deployment or cluster.

### Some data warm nodes are more loaded than others: `es-data-01`


#### What was detected

The affected node/s are: `es-data-01` and `es-data-02` High search activity indices:`logs-prod-000045` High indexing activity indices:`logs-prod-000045`

#### Recommendations

<note>
  AutoOps shows different recommendations depending on how their conditions match your deployment or cluster.
</note>

<dropdown title="Rebalance index shards">
  **Condition**: Shown when index shards are not well spread over data nodes.Node es-data-01 holds 1000 shards while es-data-01 holds 1000. Move shard 0 of index logs-prod-000045 from es-data-01 to es-data-01 using the action below.
  ```json

  {
    "commands": [
      {
        "move": {
          "index": "logs-prod-000045",
          "shard": 0,
          "from_node": "es-data-01",
          "to_node": "es-data-02"
        }
      }
    ]
  }
  ```

  <note>
    Requires the `manage cluster` privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
  </note>
</dropdown>

<dropdown title="Rollover indices">
  **Condition**: Shown when high-indexing activity detected and if index has less primary shards than available data nodes.If logs-prod-000045 are time-based, roll them over and set 2 primary shards on the new write index so you can avoid a heavy segment merge on the current indices.
</dropdown>

<dropdown title="Rollover indices by shard size">
  **Condition**: Shown when high-indexing activity detected and if primary shard size > 30GB.If logs-prod-000045 are time-based, roll them over when average shard size reaches your target.
</dropdown>

<dropdown title="Review index templates and mappings">
  **Condition**: Shown when high-indexing activity detected and for indexes with highest indexing latency.Review templates and mappings for logs-prod-000045; they strongly affect indexing performance. Fix oversized mappings, unnecessary fields, and inefficient index settings.
</dropdown>

<dropdown title="Review indexing slow logs">
  **Condition**: Always shown for this insight.Enable indexing slow logs with the action below on logs-prod-000045, then review the logs to find slow index operations. On Elasticsearch 8.14+, set `index.indexing.slowlog.include.user` to `true` to record which user triggered a slow operation.
  ```json

  {
    "index.indexing.slowlog.threshold.index.warn": "10s",
    "index.indexing.slowlog.threshold.index.info": "5s",
    "index.indexing.slowlog.threshold.index.debug": "2s",
    "index.indexing.slowlog.threshold.index.trace": "500ms",
    "index.indexing.slowlog.source": "1000"
  }
  ```

  <note>
    Requires the `manage` index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
  </note>
</dropdown>

<dropdown title="Add data node">
  **Condition**: Shown when high-indexing activity detected and if index has more primary shards as available data nodes.Add a data node to increase capacity and reduce pressure on the existing nodes.
</dropdown>

<dropdown title="Increase replica count">
  **Condition**: Shown when high-searching activity detected and if index has no replica.Set `number_of_replicas` to 2 on logs-prod-000045 (currently 1) using the action below.
  ```json

  {
    "index": {
      "number_of_replicas": 2
    }
  }
  ```

  <note>
    Requires the `manage` index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
  </note>
</dropdown>

<dropdown title="Enable and review search slow logs">
  **Condition**: Always shown for this insight.Enable search slow logs with the action below, then review the slow log to find expensive queries. See [Slow logs](https://docs-v3-preview.elastic.dev/elastic/docs-content/tree/main/deploy-manage/monitor/logging-configuration/slow-logs) for configuration details.
  ```json

  {
    "index.search.slowlog.threshold.query.warn": "10s",
    "index.search.slowlog.threshold.query.info": "5s",
    "index.search.slowlog.threshold.query.debug": "2s",
    "index.search.slowlog.threshold.query.trace": "500ms",
    "index.search.slowlog.threshold.fetch.warn": "1s",
    "index.search.slowlog.threshold.fetch.info": "800ms",
    "index.search.slowlog.threshold.fetch.debug": "500ms",
    "index.search.slowlog.threshold.fetch.trace": "200ms"
  }
  ```

  <note>
    Requires the `manage` index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
  </note>
</dropdown>

<dropdown title="Limit merge thread count">
  **Condition**: Shown when high-merging activity is detected.On spinning disks, set `index.merge.scheduler.max_thread_count` to 1 for affected indices to reduce I/O contention. Use the action below.
  ```json

  {
    "index.merge.scheduler.max_thread_count": 1
  }
  ```

  <note>
    Requires the `manage` index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
  </note>
</dropdown>


#### Background and impact

Impact: This might cause a bottleneck to form and reduce search and indexing performance.
The load of some data nodes is unbalanced. The CPU and load on some data nodes is higher than on others.
This can be caused by applications that are not load balancing correctly across the data nodes, or by “hot” indices being located on a small number of nodes, causing indexing to be done on a small number of shards.