To optimize PUT requests, it would be effective to use multipart uploads because it can aggregate throughput by parallelizing PUT requests and uploading a large object into parts. It is recommended that the size of each part should be between 25 and 50 MB for higher networks and 10 MB for mobile networks.
Multipart upload consists of three-step processes; the first step is initiating the upload, next is uploading the object parts, and finally, after uploading all the parts, the multipart upload is finished. The following methods are currently supported to upload objects with multipart upload:
AWS SDK for Android
AWS SDK for iOS
AWS SDK for Java
AWS SDK for JavaScript
AWS SDK for PHP
AWS SDK for Python
AWS SDK for Ruby
AWS SDK for .NET
REST API
AWS CLI
In order to try multipart upload and see how much it aggregates throughput, we use AWS SDK for Node.js and S3 via NPM (package manager for Node.js).