Courseiva
Data Operations and Support →mediumMultiple Choice

Fix Kinesis Write Throttling by Increasing Shard Count

A data engineer is monitoring an Amazon Kinesis Data Stream and notices that the 'WriteProvisionedThroughputExceeded' metric is frequently elevated. The stream has 5 shards and is used by multiple producers. What is the BEST action to resolve this issue?

Quick Answer

The answer is to increase the number of shards in the Kinesis data stream. This is correct because the WriteProvisionedThroughputExceeded metric directly signals that the combined write rate from your producers has surpassed the total write capacity of your existing shards, where each shard supports 1 MB/second or 1,000 records/second for writes. By increasing the shard count, you linearly scale that total write throughput, resolving the throttling at its root cause rather than applying a workaround. On the AWS Certified Data Engineer Associate DEA-C01 exam, this scenario tests your understanding of Kinesis shard-based capacity and the difference between scaling shards versus tuning consumers or retention. A common trap is to confuse read-side fixes (like enhancing consumer speed) with write-side capacity issues, or to assume retries alone solve the problem. Remember the mnemonic: “Throttled writes? Shards are the keys.”

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Increase the number of shards in the Kinesis data stream.

WriteProvisionedThroughputExceeded indicates that the write rate exceeds the shards' capacity. Increasing the number of shards increases the total write capacity. Option A is incorrect because increasing the consumer's processing speed does not affect write throttling; it addresses read-side lag. Option C is incorrect because reducing the retention period does not affect write throughput. Option D is incorrect because implementing exponential backoff and retries in the producer applications helps with transient failures but does not resolve the root cause of insufficient capacity.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Increase the consumer's processing speed to reduce lag.

    Why it's wrong here

    WriteProvisionedThroughputExceeded is raised by producers exceeding a shard's ingest limit, so consumer speed cannot relieve it; consumers read via GetRecords and are governed by ReadProvisionedThroughputExceeded. The option tempts because consumer lag and slow processing are common Kinesis problems, and accelerating consumers is correct when the metric is IteratorAge or read throughput.

  • ✓

    Increase the number of shards in the Kinesis data stream.

    Why this is correct

    WriteProvisionedThroughputExceeded means producers are exceeding the per-shard ingest limit of 1 MB/s or 1,000 records/s. Adding shards increases total stream capacity by distributing writes across more shards, directly resolving the throttling described in the stem.

  • ✗

    Reduce the data retention period of the stream.

    Why it's wrong here

    Retention governs how long records remain accessible, not ingest capacity, so shortening it leaves the per-shard write limit unchanged and may cause data loss. It tempts because retention is a familiar Kinesis cost and storage control, and reducing it is correct when storage charges or replay windows, not write throttling, are the concern.

  • ✗

    Implement exponential backoff and retries in the producer applications.

    Why it's wrong here

    Backoff and retries only pace producers around throttling; they do not raise the 1 MB per second or 1,000 records per second per-shard write ceiling, so sustained overload persists. The option tempts because retry logic is standard resilience practise, and it is correct when throttling is transient or bursty rather than caused by aggregate throughput exceeding shard capacity.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

About these practice questions

Courseiva writes every DEA-C01 question from scratch — 1,321 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways this is tested on DEA-C01

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A data engineer is monitoring an Amazon Kinesis Data Stream used to ingest clickstream data. The engineer notices that the stream's 'WriteProvisionedThroughputExceeded' metric is frequently above zero. Which TWO actions could help mitigate this issue? (Choose TWO.)

easy
  • ✓ A.Increase the number of shards in the stream.
  • B.Reduce the data retention period to free up capacity.
  • C.Decrease the number of shards to reduce overhead.
  • ✓ D.Implement a random prefix for the partition key to distribute data evenly.
  • E.Enable enhanced fan-out on the stream.

Why A: Option A is correct because WriteProvisionedThroughputExceeded indicates that producers are exceeding the stream's ingest capacity, and each shard supports a fixed write throughput of 1 MB/s or 1,000 records/s, so adding shards (resizing/shard splitting) increases total write capacity. Option D is correct because a hot shard caused by an uneven partition key (for example, a constant or low-cardinality key) can throttle writes even when aggregate capacity is sufficient; adding a random prefix to the partition key spreads records across more shards, balancing the load. Option B is incorrect because the retention period only controls how long data is stored and has no effect on write throughput capacity. Option C is incorrect because decreasing shards reduces total write capacity and would worsen throttling. Option E is incorrect because enhanced fan-out increases read throughput for consumers (dedicated 2 MB/s per consumer per shard) and does not address write-side throttling.

Variation 2. A data engineer is monitoring an Amazon Kinesis Data Stream with a shard count of 10. The stream receives 5 MB/s of write traffic and 10 MB/s of read traffic. The engineer notices that writes are throttled with ProvisionedThroughputExceededException errors. Which action should the engineer take to resolve the throttling?

easy
  • A.Increase the shard count to 20.
  • B.Decrease the shard count to 5.
  • C.Enable enhanced fan-out on the stream.
  • ✓ D.Configure auto-scaling on the stream.

Why D: ProvisionedThroughputExceededException occurs when a shard's write throughput exceeds 1 MB/s, often due to hot shards from uneven partition key distribution. While increasing shard count (Option A) can help spread the load, it does not automatically fix the root cause if partition keys remain skewed. The best action is to configure auto-scaling (Option D), which in Amazon Kinesis Data Streams can be achieved by switching to on-demand mode. On-demand mode automatically scales capacity based on traffic patterns, eliminating throttling without manual intervention. Option B decreases write capacity, worsening the issue. Option C only improves read throughput, not write.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DEA-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C01 exam.