Skip to content

Commit 2c4090f

Browse files
Add rate limits for ECH (#488)
* Add rate limits for ECH * Add applies to * Update motlp.md * Update docs/reference/motlp.md Co-authored-by: Vishal Raj <[email protected]> --------- Co-authored-by: Vishal Raj <[email protected]>
1 parent fa7f815 commit 2c4090f

File tree

1 file changed

+31
-14
lines changed

1 file changed

+31
-14
lines changed

docs/reference/motlp.md

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ applies_to:
77
observability:
88
security:
99
deployment:
10-
ess:
11-
stack: preview 9.2
10+
ess: preview
11+
self: unavailable
1212
products:
1313
- id: cloud-serverless
1414
- id: observability
@@ -111,17 +111,25 @@ For more information on billing, refer to [Elastic Cloud pricing](https://www.el
111111

112112
## Rate limiting
113113

114-
Requests to the {{motlp}} are subject to rate limiting and throttling. If you exceed your {{es}} capacity in {{ech}}, or send data at a rate that exceeds the limits, your requests might be rejected.
114+
Requests to the {{motlp}} are subject to rate limiting and throttling. If you send data at a rate that exceeds the limits, your requests might be rejected.
115115

116116
The following rate limits and burst limits apply:
117117

118-
| Deployment type | Rate limit | Burst limit |
119-
|----------------|------------|-------------|
120-
| Serverless | 15 MB/s | 30 MB/s |
121-
% | ECH | MB/s | MB/s |
118+
| Deployment type | Rate limit | Burst limit | Dynamic scaling |
119+
|----------------|------------|-------------|-----------------|
120+
| Serverless | 15 MB/s | 30 MB/s | Not available |
121+
| ECH | 1 MB/s (initial) | 2 MB/s (initial) | Yes |
122122

123123
As long as your data ingestion rate stays at or below the rate limit and burst limit, your requests are accepted.
124124

125+
### Dynamic rate scaling for {{ech}}
126+
```{applies_to}
127+
ess:
128+
stack: preview 9.2
129+
```
130+
131+
For {{ech}} deployments, rate limits can scale up or down dynamically based on backpressure from {{es}}. Every deployment starts with a 1 MB/s rate limit and 2 MB/s burst limit. The system automatically adjusts these limits based on your {{es}} capacity and load patterns. Scaling requires time, so sudden load spikes might still result in temporary rate limiting.
132+
125133
### Exceeding the rate limit
126134

127135
If you send data that exceeds the available limits, the {{motlp}} responds with an HTTP `429` Too Many Requests status code. A log message similar to this appears in the OpenTelemetry Collector's output:
@@ -133,22 +141,31 @@ If you send data that exceeds the available limits, the {{motlp}} responds with
133141
}
134142
```
135143

136-
After your sending rate goes back to the allowed limit, the system automatically begins accepting requests again.
144+
The causes of rate limiting differ by deployment type:
145+
146+
- **{{serverless-full}}**: You exceed the 15 MB/s rate limit or 30 MB/s burst limit.
147+
- **{{ech}}**: You send load spikes that exceed current limits (temporary `429`s) or your {{es}} cluster can't keep up with the load (consistent `429`s).
148+
149+
After your sending rate goes back to the allowed limit, or after the system scales up the rate limit for {{ech}}, requests are automatically accepted again.
137150

138151
### Solutions to rate limiting
139152

140-
Depending on the reason for the rate limiting, you can either increase your {{es}} capacity or request higher limits.
153+
The solutions to rate limiting depend on your deployment type:
154+
155+
#### {{ech}} deployments
141156

142-
#### Increase your {{es}} capacity
157+
For {{ech}} deployments, if you're experiencing consistent `429` errors, the primary solution is to increase your {{es}} capacity. Because rate limits are affected by {{es}} backpressure, scaling up your {{es}} cluster reduces backpressure and, over time, increases the ingestion rate for your deployment.
143158

144-
If data intake exceeds the capacity of {{es}} in your {{ech}} deployment, you might get rate limiting errors. To solve this issue, scale or resize your deployment:
159+
To scale your deployment:
145160

146161
- [Scaling considerations](docs-content://deploy-manage/production-guidance/scaling-considerations.md)
147162
- [Resize deployment](docs-content://deploy-manage/deploy/cloud-enterprise/resize-deployment.md)
148163
- [Autoscaling in ECE and ECH](docs-content://deploy-manage/autoscaling/autoscaling-in-ece-and-ech.md)
149164

150-
#### Request higher limits
165+
Temporary `429`s from load spikes typically resolve on their own as the system scales up, as long as your {{es}} cluster has sufficient capacity.
166+
167+
#### {{serverless-full}} deployments
151168

152-
If rate limiting is not caused by {{es}} capacity or you're on {{serverless-full}}, you can either decrease data volume or request higher limits.
169+
For {{serverless-full}} projects, you can either decrease data volume or request higher limits.
153170

154-
To increase the rate limit, [reach out to Elastic Support](docs-content://troubleshoot/ingest/opentelemetry/contact-support.md).
171+
To increase the rate limit, [contact Elastic Support](docs-content://troubleshoot/ingest/opentelemetry/contact-support.md).

0 commit comments

Comments
 (0)