Reduce Latency for Lambda Processing Kinesis Logs
Short answer
AB Enable Enhanced Fan-Out for dedicated stream throughput and increase the Parallelization Factor to allow more concurrent Lambda invocations per shard.
Question
Key Takeaways
The question tests knowledge of Kinesis-Lambda integration performance tuning, specifically the trap of confusing Reserved Concurrency (which limits scale) with Parallelization Factor (which increases it).
This question addresses high latency in an AWS Lambda consumer processing Amazon Kinesis Data Streams logs. The correct steps involve enabling Enhanced Fan-Out and increasing the Parallelization Factor to optimize throughput.
Common mistake: Many candidates incorrectly select C (Reserved Concurrency), believing that reserving capacity helps performance. In reality, Reserved Concurrency sets a ceiling on concurrent executions, which can restrict scaling and potentially increase latency under load if not tuned perfectly, whereas Parallelization Factor directly enables more concurrent invocations.
Expert Analysis
Why the Answer Is Correct
To reduce latency in a Kinesis-to-Lambda pipeline, you must maximize the throughput of data delivery and the parallelism of processing. Option A is correct because Enhanced Fan-Out provides dedicated 2 MB/s per shard throughput for consumers, eliminating contention with other consumers and reducing network jitter/latency compared to shared polling. Option B is correct because increasing the Parallelization Factor allows Lambda to invoke multiple instances of your function for a single shard (up to 10 per shard), significantly increasing processing concurrency and reducing the backlog time.
Why the Other Options Are Wrong
Option C is incorrect because Reserved Concurrency defines the maximum number of simultaneous executions; while it prevents throttling from other services, it does not inherently reduce latency and can actually limit scaling if set too low. Option D is incorrect because increasing batch size generally increases individual record processing latency due to larger payloads, even if it improves overall throughput efficiency. Option E is incorrect because turning off ReportBatchItemFailures removes visibility into partial failures, making troubleshooting difficult without solving the root cause of latency.
Community Comment Notes
Community consensus heavily favored AB, with some users debating F (which was likely a typo or misinterpretation of another option in their source). Comments reference the official AWS documentation confirming that Enhanced Fan-Out and Parallelization Factor are the key levers for Kinesis-Lambda performance optimization.
Official Reference
https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
When optimizing serverless consumers, always look for options that increase parallelism (Parallelization Factor, Shards) or dedicated resources (Enhanced Fan-Out, Provisioned Concurrency). Avoid options that impose limits (Reserved Concurrency) unless explicitly asked about security or cost caps.
Frequently Asked Questions
Why is Enhanced Fan-Out better than default polling?
Does Reserved Concurrency help with latency?
Discussion 6 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 6
-
Seoyong 👍 4https://aws.amazon.com/about-aws/whats-new/2019/11/aws-lambda-supports-parallelization-factor-for-kinesis-and-dynamodb-event-sources/
-
c3518fc 👍 4https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
-
WhyIronMan 👍 3A,B,F, https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
-
GripZA 👍 2A: Kinesis Enhanced fan-out is an Amazon Kinesis Data Streams feature that enables consumers to receive records from a data stream with dedicated throughput of up to 2 MB of data per second per shard. A consumer that uses enhanced fan-out doesn't have to contend with other consumers that are receiving data from the stream. B: Reserved concurrency – This represents the maximum number of concurrent instances allocated to your function. When a function has reserved concurrency, no other function can use that concurrency. Reserved concurrency is useful for ensuring that your most critical functions always have enough concurrency to handle incoming requests. F: The data capacity of your stream is a function of the number of shards that you specify for the stream. The total capacity of the stream is the sum of the capacities of its shards.
-
seetpt 👍 2ABF for me
Show 1 more comment
-
Ola2234 👍 1ABF or ACF
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DOP-C02 Questions
Access 85 questions with complete answers and detailed explanations.
View Full DOP-C02 Practice Test →