Requirement Summary:
DynamoDB Provisioned Mode
ProvisionedThroughputExceededException error occurring
App hosted on a small burstable EC2 instance
Option A: Move to a larger EC2 instance
May improve local performance, but does not solve DynamoDB provisioned throughput limits.
Option B: Increase DynamoDB RCUs
Valid: This directly increases the read throughput capacity of the table.
Helps handle more traffic and reduce throughput exceptions.
Option C: Reduce frequency via exponential backoff
Best practice: Using exponential backoff and jitter reduces request pressure and spreads retries out to avoid spiking.
Option D: Increase frequency of retries by reducing delay
Opposite of best practice. Increases load, worsening the issue.
Option E: Change to on-demand mode
Also valid in general, but question is scoped around provisioned capacity.
Since minimizing cost or workload type isn't mentioned, and scaling the existing model is the focus, prefer B and C.
ProvisionedThroughputExceededException: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HandlingErrors.html
Exponential backoff: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html
Capacity modes: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html