Your serverless architecture using AWS API Gateway, AWS Lambda, and AWS DynamoDB experienced a large increase
in traffic to a sustained 400 requests per second, and dramatically increased in failure rates. Your requests, during normal
operation, last 500 milliseconds on average. Your DynamoDB table did not exceed 50% of provisioned throughput, and
Table primary keys are designed correctly. What is the most likely issue?
A.
Your API Gateway deployment is throttling your requests.
B.
Your AWS API Gateway Deployment is bottlenecking on request (de)serialization.
C.
You did not request a limit increase on concurrent Lambda function executions.
D.
You used Consistent Read requests on DynamoDB and are experiencing semaphore lock.
Explanation:
AWS API Gateway by default throttles at 500 requests per second steady-state, and 1000 requests per second at spike.
Lambda, by default, throttles at 100 concurrent requests for safety. At 500 milliseconds (half of a second) per request,
you can expect to support 200 requests per second at 100 concurrency. This is less than the 400 requests per second
your system now requires. Make a limit increase request via the AWS Support Console.
AWS Lambda: Concurrent requests safety throttle per account -> 100
http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_lambda
C
The system is designed to entertain 500 request/sec but currently its failing at 400 so definitely C is the cause.
Out of date questions:
Now the Lambda limit is 1000 per sec and API gateway limit is 10000 requests/sec