Mastering AWS S3 Multipart Upload Architecture
For files larger than 100 megabytes, AWS recommends using S3 Multipart Uploads. Multipart uploads split large objects into independent byte-range chunks that upload concurrently across parallel worker threads, improving throughput and providing automatic per-part retry resilience against transient network failures.
The Strict 10,000 Part Limit
Amazon Simple Storage Service (S3) enforces a hard maximum of 10,000 parts per multipart upload. If your upload tool uses the default 5MB part size for a 100GB or 1TB database backup, the upload will abruptly crash with an EntityTooLarge or TooManyParts error once part 10,001 is reached.
Tuning Concurrency vs Client Memory Footprint
- RAM Allocation Formula:
Memory Buffer โ Concurrency Threads ร Part Size ร 1.2. Running 10 concurrent threads with 64MB parts requires ~768MB of client RAM. - AbortIncompleteMultipartUpload Lifecycle Rule: Unfinished multipart uploads accumulate hidden S3 storage billing unless an S3 Lifecycle Rule is configured to clean up aborted parts after 7 days.