From 200e15f7473365997b6b45579b2bf957fe16db4b Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Thu, 13 Nov 2025 16:56:43 +0100 Subject: [PATCH 1/4] Add rate limits for ECH --- docs/reference/motlp.md | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/docs/reference/motlp.md b/docs/reference/motlp.md index cf432316..3f7cc65f 100644 --- a/docs/reference/motlp.md +++ b/docs/reference/motlp.md @@ -7,8 +7,8 @@ applies_to: observability: security: deployment: - ess: - stack: preview 9.2 + ess: preview + self: unavailable products: - id: cloud-serverless - id: observability @@ -129,17 +129,21 @@ For more information on billing, refer to [Elastic Cloud pricing](https://www.el ## Rate limiting -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. +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. The following rate limits and burst limits apply: -| Deployment type | Rate limit | Burst limit | -|----------------|------------|-------------| -| Serverless | 15 MB/s | 30 MB/s | -% | ECH | MB/s | MB/s | +| Deployment type | Rate limit | Burst limit | Dynamic scaling | +|----------------|------------|-------------|-----------------| +| Serverless | 15 MB/s | 30 MB/s | Not available | +| ECH | 1 MB/s (initial) | 2 MB/s (initial) | Yes | As long as your data ingestion rate stays at or below the rate limit and burst limit, your requests are accepted. +### Dynamic rate scaling for {{ech}} + +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. + ### Exceeding the rate limit 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: @@ -151,22 +155,31 @@ If you send data that exceeds the available limits, the {{motlp}} responds with } ``` -After your sending rate goes back to the allowed limit, the system automatically begins accepting requests again. +The causes of rate limiting differ by deployment type: + +- **{{serverless-full}}**: You exceed the 15 MB/s rate limit or 30 MB/s burst limit. +- **{{ech}}**: You send load spikes that exceed current limits (temporary `429`s) or your {{es}} cluster is underscaled and cannot keep up with the load (consistent `429`s). + +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. ### Solutions to rate limiting -Depending on the reason for the rate limiting, you can either increase your {{es}} capacity or request higher limits. +The solutions to rate limiting depend on your deployment type: + +#### {{ech}} deployments -#### Increase your {{es}} capacity +For {{ech}} deployments, if you're experiencing consistent `429` errors, the primary solution is to increase your {{es}} capacity. Because rate limits scale dynamically based on {{es}} backpressure, scaling up your {{es}} cluster allows the rate limits to automatically increase over time. -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: +To scale your deployment: - [Scaling considerations](docs-content://deploy-manage/production-guidance/scaling-considerations.md) - [Resize deployment](docs-content://deploy-manage/deploy/cloud-enterprise/resize-deployment.md) - [Autoscaling in ECE and ECH](docs-content://deploy-manage/autoscaling/autoscaling-in-ece-and-ech.md) -#### Request higher limits +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. + +#### {{serverless-full}} deployments -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. +For {{serverless-full}} projects, you can either decrease data volume or request higher limits. -To increase the rate limit, [reach out to Elastic Support](docs-content://troubleshoot/ingest/opentelemetry/contact-support.md). +To increase the rate limit, [contact Elastic Support](docs-content://troubleshoot/ingest/opentelemetry/contact-support.md). From 24a6798a96c23e8e283b0e406d9c8b245be9a15d Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Thu, 13 Nov 2025 17:03:39 +0100 Subject: [PATCH 2/4] Add applies to --- docs/reference/motlp.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/reference/motlp.md b/docs/reference/motlp.md index 3f7cc65f..aa4fa77c 100644 --- a/docs/reference/motlp.md +++ b/docs/reference/motlp.md @@ -141,6 +141,10 @@ The following rate limits and burst limits apply: As long as your data ingestion rate stays at or below the rate limit and burst limit, your requests are accepted. ### Dynamic rate scaling for {{ech}} +```{applies_to} +ess: +stack: preview 9.2 +``` 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. From e28d4a605ab32e69c2f74367fa1d6b0529c5d3bf Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri-Benedetti Date: Thu, 13 Nov 2025 17:15:28 +0100 Subject: [PATCH 3/4] Update motlp.md --- docs/reference/motlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/motlp.md b/docs/reference/motlp.md index aa4fa77c..e2d74137 100644 --- a/docs/reference/motlp.md +++ b/docs/reference/motlp.md @@ -162,7 +162,7 @@ If you send data that exceeds the available limits, the {{motlp}} responds with The causes of rate limiting differ by deployment type: - **{{serverless-full}}**: You exceed the 15 MB/s rate limit or 30 MB/s burst limit. -- **{{ech}}**: You send load spikes that exceed current limits (temporary `429`s) or your {{es}} cluster is underscaled and cannot keep up with the load (consistent `429`s). +- **{{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). 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. From 365fa52e21bcc6c63ce087d30b9b7574d8d9afa9 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri-Benedetti Date: Tue, 18 Nov 2025 08:44:41 +0100 Subject: [PATCH 4/4] Update docs/reference/motlp.md Co-authored-by: Vishal Raj --- docs/reference/motlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/motlp.md b/docs/reference/motlp.md index e2d74137..e56f2da8 100644 --- a/docs/reference/motlp.md +++ b/docs/reference/motlp.md @@ -172,7 +172,7 @@ The solutions to rate limiting depend on your deployment type: #### {{ech}} deployments -For {{ech}} deployments, if you're experiencing consistent `429` errors, the primary solution is to increase your {{es}} capacity. Because rate limits scale dynamically based on {{es}} backpressure, scaling up your {{es}} cluster allows the rate limits to automatically increase over time. +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. To scale your deployment: