A media company stores millions of objects in a single Amazon S3 bucket. A new batch pipeline issues a very high volume of concurrent GET and PUT requests against objects that all share the key prefix uploads/2026/, and the team observes elevated latency and HTTP 503 slow-down responses. They need the request throughput to scale higher without moving to a different storage service. Which change best increases the achievable request rate for this workload?
- AEnable S3 Versioning on the bucket so each request targets a distinct object version and the additional version metadata spreads the load.
- BSwitch the bucket to the S3 Intelligent-Tiering storage class so frequently accessed objects move to a tier that serves a higher request rate.
- CTurn on S3 Transfer Acceleration so requests route through edge locations and the bucket sustains a higher concurrent request rate per prefix.
- DSpread the objects and requests across several key prefixes, since S3 scales to thousands of requests per second per prefix and parallel prefixes multiply the throughput. Correct
Why A is wrong: Versioning keeps prior copies of an object for recovery, but it does not change how S3 partitions request capacity by prefix, so the throughput ceiling on the hot prefix is unchanged.
Why B is wrong: Intelligent-Tiering moves objects between access tiers to optimise storage cost, but all tiers share the same per-prefix request model, so it does not lift the throughput limit on a hot prefix.
Why C is wrong: Transfer Acceleration speeds long-distance transfers over the AWS edge network, but it does not raise the per-prefix request rate, so the 503 slow-down responses on the hot prefix persist.
Why D is correct: S3 request capacity scales per prefix, so distributing keys across many prefixes lets the workload run many parallel prefix limits at once and removes the single-prefix bottleneck causing the slow-down responses.