CloudWatch Metric Guide

AWS/Lambda/ThrottlesCount

ThrottlesAWS Lambda CloudWatch metric

Throttles counts invocation requests that Lambda rejected because concurrent execution limits were reached. A throttled invocation was not executed — the caller receives a 429 TooManyRequestsException.

What it measures

About Throttles

Throttles counts invocation requests that Lambda rejected because concurrent execution limits were reached. A throttled invocation was not executed — the caller receives a 429 TooManyRequestsException.

NamespaceAWS/Lambda
Metric nameThrottles
UnitCount
AWS docsOfficial AWS Lambda metrics reference

Why this metric matters

Throttles are silent drops — the caller is rejected, the function never ran, and no error appears in the function's own logs. For event-driven architectures, throttles can cause compounding failures: an SQS trigger that can't invoke the function backs up its queue, increasing message age and eventually expiring or sending to a dead-letter queue.

AWS sets a default account-level concurrency limit of 1,000 unreserved concurrent executions, as documented by AWS. Individual functions without reserved concurrency share this pool. A single bursty function can starve all other Lambda functions in the account by consuming the entire unreserved pool. Throttles on any function should be treated as an account-wide capacity signal.

Recommended alarm threshold for Throttles

Recommended threshold

> 0 for critical functions; for high-volume functions, a low absolute count threshold based on your acceptable drop rate

Any throttle on a synchronous, user-facing Lambda is an immediate user-visible failure — zero tolerance is correct (Nuberio recommendation). For async processing functions with retry logic, occasional throttles may be acceptable; set a threshold based on your measured retry success rate and dead-letter queue budget. AWS documentation recommends using reserved concurrency to isolate critical functions from account-level throttle pressure.

Is your Throttles alarm already set up correctly?

The free Nuberio Audit scans your CloudWatch setup and flags missing or misconfigured alarms — including Throttles — in 5 minutes.

Run a free audit →

Common failures that show up in Throttles

When Throttles reaches an alarm threshold, these are the most common root causes — in order of how often Nuberio sees them across customer AWS accounts.

  • Account-level concurrency exhaustion — a high-traffic function consumes the unreserved pool, throttling all other Lambda functions in the account

  • Burst limit exceeded — Lambda allows a per-region burst limit (3,000 initial burst in most regions per AWS documentation) and throttles sudden spikes that exceed it

  • Reserved concurrency set too low — a function has explicit reserved concurrency that underestimates peak traffic

  • Fan-out amplification — an SNS or EventBridge rule fires for every record in a batch, generating N invocations simultaneously and hitting the concurrency limit

  • Downstream rate limiting — the function calls an API with a rate limit, fails, and Lambda's automatic retry doubles the concurrent invocations, compounding the throttle

How the Nuberio Audit checks Throttles

The free Audit scans every AWS Lambda resource in your account and checks whether a Throttles alarm exists, whether its threshold and evaluation period are configured sensibly, and flags it if it's missing entirely. Every finding comes with the exact CLI command to fix it — read-only access, no credit card, results in about 5 minutes.

Nuberio Audit

Scans your CloudWatch setup for missing or misconfigured Throttles alarms. Free, 5-minute read-only scan.

Run a free audit →

Related AWS Lambda metrics

Throttles rarely fails in isolation. These metrics tend to correlate — monitor them together for complete AWS Lambda coverage.

FAQ

Frequently asked questions about Throttles

Common questions about setting up CloudWatch alarms for Throttles in AWS Lambda.

What is the recommended CloudWatch alarm threshold for Throttles?+

> 0 for critical functions; for high-volume functions, a low absolute count threshold based on your acceptable drop rate. Any throttle on a synchronous, user-facing Lambda is an immediate user-visible failure — zero tolerance is correct (Nuberio recommendation). For async processing functions with retry logic, occasional throttles may be acceptable; set a threshold based on your measured retry success rate and dead-letter queue budget. AWS documentation recommends using reserved concurrency to isolate critical functions from account-level throttle pressure.

Which CloudWatch namespace does Throttles belong to?+

Throttles is published in the AWS/Lambda namespace with a unit of Count. You can find it in the CloudWatch console under "Metrics" → "AWS/Lambda". See the AWS Lambda CloudWatch metrics reference in the AWS documentation.

Does Nuberio automatically create CloudWatch alarms for Throttles?+

No — the free Nuberio Audit does not create alarms for you. It scans your CloudWatch setup and tells you which AWS Lambda resources are missing a Throttles alarm, then gives you the exact CLI command to create it yourself.

Can I use Nuberio without already having a Throttles alarm set up?+

Yes. The free Audit works whether or not you have any Throttles alarm configured — it reads the resource directly from CloudWatch and tells you which resources need one, plus the copy-paste AWS CLI command to create it.

This page is part of the CloudWatch metric guide — thresholds and debugging guidance for every metric across RDS, Lambda, ECS, ALB, EC2, DynamoDB, SQS, API Gateway, S3, CloudFront, ElastiCache, and EKS. To find which AWS Lambda alarms your account is missing — including Throttles — run the free CloudWatch alarm audit. The scan takes under 5 minutes and requires no account.