Skip to content

Commit a2e54bc

Browse files
guilloadestherk15
andauthored
CLOUDPREM: Update sizing recommendations (#32702)
* CLOUDPREM: Update sizing recommendations * Apply suggestions from code review Co-authored-by: Esther Kim <esther.kim@datadoghq.com> * Reformat cluster sizing recommendations (#32703) * Reformat recommendations into tables * Apply suggestions from code review Co-authored-by: Adrien Guillo <adrien.guillo@datadoghq.com> --------- Co-authored-by: Adrien Guillo <adrien.guillo@datadoghq.com> --------- Co-authored-by: Esther Kim <esther.kim@datadoghq.com>
1 parent 3c0f865 commit a2e54bc

File tree

1 file changed

+37
-22
lines changed

1 file changed

+37
-22
lines changed

content/en/cloudprem/configure/cluster_sizing.md

Lines changed: 37 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,56 @@ further_reading:
1818

1919
## Overview
2020

21-
This document gives recommendations on dimensioning your CloudPrem cluster components, particularly indexers and searchers.
21+
Proper cluster sizing ensures optimal performance, cost efficiency, and reliability for your CloudPrem deployment. Your sizing requirements depend on several factors including log ingestion volume, query patterns, and the complexity of your log data.
2222

23-
<div class="alert alert-info">
24-
These are starting recommendations. Monitor your cluster's performance and resource utilization closely and adjust sizing as needed.
23+
This guide provides baseline recommendations for dimensioning your CloudPrem cluster components—indexers, searchers, supporting services, and the PostgreSQL database.
24+
25+
<div class="alert alert-tip">
26+
Use your expected daily log volume and peak ingestion rates as starting points, then monitor your cluster's performance and adjust sizing as needed.
2527
</div>
2628

2729
## Indexers
2830

29-
- **Performance:** To index 5 MB/s of logs, CloudPrem needs approximately 1 vCPU and 2 GB of RAM.
30-
- **Recommended Pod Sizes:** Datadog recommends that you deploy indexer pods with either:
31-
- 2 vCPUs and 4 GB of RAM
32-
- 4 vCPUs and 8 GB of RAM
33-
- 8 vCPUs and 16 GB of RAM
34-
- **Storage:** Indexers require persistent storage (preferably SSDs, but local HDDs or remote EBS volumes can also be used) to store temporary data while constructing the index files.
35-
- Minimum: 100 GB per pod
36-
- Recommendation (for pods > 4 vCPUs): 200 GB per pod
37-
- **Example Calculation:** To index 1 TB per day (~11.6 MB/s):
38-
- Required vCPUs: `(11.6 MB/s / 5 MB/s/vCPU) ≈ 2.3 vCPUs`
39-
- Rounding up, you might start with one indexer pod configured with 3 vCPUs and 6 GB RAM, requiring a 100 GB EBS volume. (Adjust this configuration based on observed performance and redundancy needs.)
31+
Indexers receive logs from Datadog Agents, then process, index, and store them as index files (called _splits_) in object storage. Proper sizing is critical for maintaining ingestion throughput and ensuring your cluster can handle your log volume.
32+
33+
| Specification | Recommendation | Notes |
34+
|---------------|----------------|-------|
35+
| **Performance** | 5 MB/s per vCPU | Baseline throughput to determine initial sizing. Actual performance depends on log characteristics (size, number of attributes, nesting level) |
36+
| **Memory** | 4 GB RAM per vCPU | |
37+
| **Minimum Pod Size** | 2 vCPUs, 8 GB RAM | Recommended minimum for indexer pods |
38+
| **Storage Capacity** | At least 200 GB | Required for temporary data while creating and merging index files |
39+
| **Storage Type** | Local SSDs (preferred) | Local HDDs or network-attached block storage (Amazon EBS, Azure Managed Disks) can also be used |
40+
| **Disk I/O** | ~20 MB/s per vCPU | Equivalent to 320 IOPS per vCPU for Amazon EBS (assuming 64 KB IOPS) |
41+
42+
43+
{{% collapse-content title="Example: Sizing for 1 TB of logs per day" level="h4" expanded=false %}}
44+
To index 1 TB of logs per day (~11.6 MB/s), follow these steps:
45+
46+
1. **Calculate vCPUs:** `11.6 MB/s ÷ 5 MB/s per vCPU ≈ 2.3 vCPUs`
47+
2. **Calculate RAM:** `2.3 vCPUs × 4 GB RAM ≈ 9 GB RAM`
48+
3. **Add headroom:** Start with one indexer pod configured with **3 vCPUs, 12 GB RAM, and a 200 GB disk**. Adjust these values based on observed performance and redundancy needs.
49+
{{% /collapse-content %}}
4050

4151
## Searchers
4252

43-
- **Performance:** Search performance depends heavily on the workload (query complexity, concurrency, data scanned).
44-
- **Rule of Thumb:** A general starting point is to provision roughly double the total number of vCPUs allocated to Indexers.
45-
- **Memory:** We recommend 4 GB of RAM per searcher vCPU. Provision more RAM if you expect many concurrent aggregation requests.
53+
Searchers handle search queries from the Datadog UI, reading metadata from the Metastore and fetching data from object storage.
54+
55+
A general starting point is to provision roughly double the total number of vCPUs allocated to Indexers.
56+
57+
- **Performance:** Search performance depends heavily on the workload (query complexity, concurrency, amount of data scanned). For instance, term queries (`status:error AND message:exception`) are usually computationally less expensive than aggregations.
58+
- **Memory:** 4 GB of RAM per searcher vCPU. Provision more RAM if you expect many concurrent aggregation requests.
4659

4760
## Other services
4861

49-
The following components are typically lightweight:
62+
Allocate the following resources for these lightweight components:
5063

51-
- **Control Plane:** 1 vCPU, 2 GB RAM
52-
- **Metastore:** 1 vCPU, 2 GB RAM
53-
- **Janitor:** 1 vCPU, 2 GB RAM
64+
| Service | vCPUs | RAM | Replicas |
65+
|---------|-------|-----|----------|
66+
| **Control Plane** | 2 | 4 GB | 1 |
67+
| **Metastore** | 2 | 4 GB | 2 |
68+
| **Janitor** | 2 | 4 GB | 1 |
5469

55-
## Postgres Metastore backend
70+
## PostgreSQL database
5671

5772
- **Instance Size:** For most use cases, a PostgreSQL instance with 1 vCPU and 4 GB of RAM is sufficient
5873
- **AWS RDS Recommendation:** If using AWS RDS, the `t4g.medium` instance type is a suitable starting point

0 commit comments

Comments
 (0)