AWS S3 Multipart Upload Part Size & Concurrency Sizer

Calculate optimal chunk sizes, concurrency threads, and memory buffers to maximize upload speeds while respecting S3's 10,000 part limit.

Optimal Part Size
32 MB
Yields 8,000 parts (S3 max: 10,000)
Thread Concurrency
13 Workers
Fits safely inside 512 MB RAM budget
Estimated Duration
1h 11m 34s
At 500 Mbps sustained throughput
JavaScript / TypeScript (AWS SDK v3)
Python (Boto3 TransferConfig)

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.