> ## Documentation Index
> Fetch the complete documentation index at: https://www.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hot Ranges Page

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

<Note>
  On a secure cluster, this area of the DB Console can only be accessed by users belonging to the <InternalLink path="security-reference/authorization#admin-role">`admin` role</InternalLink> or a SQL user with the <InternalLink path="security-reference/authorization">`VIEWCLUSTERMETADATA`</InternalLink> <InternalLink path="security-reference/authorization#supported-privileges">system privilege</InternalLink> (or the legacy `VIEWACTIVITY` or `VIEWACTIVITYREDACTED` <InternalLink path="security-reference/authorization">role option</InternalLink>) defined. The <InternalLink path="security-reference/authorization">`VIEWACTIVITY`</InternalLink> or <InternalLink path="security-reference/authorization">`VIEWACTIVITYREDACTED`</InternalLink> <InternalLink path="security-reference/authorization#supported-privileges">system privileges</InternalLink> **do not** grant access to this page.
</Note>

The **Hot Ranges** page of the DB Console provides details about ranges receiving a high number of reads or writes. These are known as *hot ranges*.

When <InternalLink path="performance-best-practices-overview#hot-spots">optimizing</InternalLink> or <InternalLink path="query-behavior-troubleshooting#single-hot-node">troubleshooting</InternalLink> statement performance, this page can help you identify nodes, ranges, or tables that are experiencing hot spots.

To view this page, <InternalLink path="ui-overview#db-console-access">access the DB Console</InternalLink> and click **Hot Ranges** in the left-hand navigation.

## Filter hot ranges

Use the **Filter** menu to filter the [hot ranges list](#hot-ranges-list) on any combination of: node ID, store ID, database, table, index, or locality.

## Hot ranges list

The **Hot ranges** list displays the ranges with the highest queries per second (QPS) from each node <InternalLink path="architecture/storage-layer">`store`</InternalLink>.

<Note>
  Hot ranges are not necessarily problematic. Some ranges naturally experience higher QPS than others. For example, a range for a frequently accessed table will have a higher QPS.

  However, a significant increase in traffic can also indicate a *hot spot* on the range that should be reduced. For more information, see <InternalLink path="performance-best-practices-overview#hot-spots">Hot spots</InternalLink>.
  To view the [Range Report](#range-report) for a hot range, click its range ID.
</Note>

| Parameter     | Description                                                                                                                                                                                                                                                                                                                                                |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Range ID      | The ID of the hot range. Click the range ID to view the [Range Report](#range-report) for this range.                                                                                                                                                                                                                                                      |
| QPS           | The total number of <InternalLink path="selection-queries">`SELECT`</InternalLink>, <InternalLink path="update">`UPDATE`</InternalLink>, <InternalLink path="insert">`INSERT`</InternalLink>, and <InternalLink path="delete">`DELETE`</InternalLink> queries executed per second on this range. The per-second rate is averaged over the last 30 minutes. |
| CPU           | The total CPU time per second used in processing this range. The per-second rate is averaged over the last 30 minutes.                                                                                                                                                                                                                                     |
| Write (keys)  | The total number of keys written per second on this range. The per-second rate is averaged over the last 30 minutes.                                                                                                                                                                                                                                       |
| Write (bytes) | The total number of bytes written per second on this range. The per-second rate is averaged over the last 30 minutes.                                                                                                                                                                                                                                      |
| Read (keys)   | The total number of bytes written per second on this range. The per-second rate is averaged over the last 30 minutes.                                                                                                                                                                                                                                      |
| Read (bytes)  | The total number of bytes read per second on this range. The per-second rate is averaged over the last 30 minutes.                                                                                                                                                                                                                                         |
| Nodes         | The ID of each node where the range data is found.                                                                                                                                                                                                                                                                                                         |
| Store ID      | The ID of the store where the range data is found.                                                                                                                                                                                                                                                                                                         |
| Leaseholder   | The ID of the node that has the <InternalLink path="architecture/reads-and-writes-overview#cockroachdb-architecture-terms">range lease</InternalLink>.                                                                                                                                                                                                     |
| Database      | The database where the range data is found.                                                                                                                                                                                                                                                                                                                |
| Table         | The table where the range data is found.                                                                                                                                                                                                                                                                                                                   |
| Index         | The index where the range data is indexed, if applicable.                                                                                                                                                                                                                                                                                                  |
| Locality      | The locality of the node where the range data is found.                                                                                                                                                                                                                                                                                                    |

## Range Report

The **Range Report** is typically used for <InternalLink path="ui-debug-pages#even-more-advanced-debugging">advanced debugging</InternalLink> purposes.

If your aim is to <InternalLink path="performance-best-practices-overview#hot-spots">reduce hot spots</InternalLink>, refer to the following fields:

* `Key Range` shows the interval of the <InternalLink path="architecture/distribution-layer#range-descriptors">key space</InternalLink> that is "hottest" (i.e., read by the processor). This is expressed as a span of key values.
* `Lease Holder QPS` shows the queries executed per second on the node that holds the <InternalLink path="architecture/replication-layer#leases">range lease</InternalLink>. If a hot range is not properly using <InternalLink path="load-based-splitting">load-based splitting</InternalLink>, this will be greater than the value configured by the `kv.range_split.load_qps_threshold` <InternalLink path="cluster-settings">cluster setting</InternalLink> ( `2500` by default).

## See also

* <InternalLink path="performance-best-practices-overview#hot-spots">Hot spots</InternalLink>
* <InternalLink path="hash-sharded-indexes">Hash-sharded Indexes</InternalLink>
* <InternalLink path="architecture/overview">Architecture Overview</InternalLink>
