In this post, I make available my notes about S3 Performance and Optimization made from Adrian Cantrill’s course AWS Certified Solutions Architect – Associate (SAA-C02). The Q&A session below can be used to validate your knowledge or create Flashcards for study. Since this is a piece of knowledge in construction there may be mistakes, drop a comment for any suggestions.
S3 Bucket allows two modes for file uploading, Single PUT Upload, and Multipart Upload. The Single PUT Upload is the default mode where the Upload is done in a single stream of data using the s3:putObject operation. Using this mode is slower, and if the stream fails for some reason, it requires a complete restart of the Upload. The s3:putObject operation has a limit of 5GB per Upload.
Multipart Upload allows you to upload a single object in part of a minimum size of 100MB. It is recommended mode when you need to upload files larger than 100MB because the parts can be uploaded in parallel, and parts can be restarted in case of failure. Two good scenarios to use are uploading an object in a stable and fast network to maximize performance and a slower network to increase the resilience of network errors.
S3 Transfer Acceleration is enabled at bucket level and allows transfers of files over long distances between the client and an S3 bucket. A new accelerated endpoint is created and should be used to upload data. It uses Edge Location, where data are uploaded to the closest Edge Location and then sent to the bucket using the network managed by AWS. The bucket name can not have “dots,” and the name format must be DNS compatible.
What are the two S3 Uploading modes?
#Single PUT Upload
What is the default S3 Upload mode?
Single PUT Upload.
What is S3 Single PUT Upload?
Default Upload mode of s3 bucket where a single stream of data is used by the s3:putObject operation.
What is the object size limit of the s3:putObject operation?
5GB per Upload.
What is the problem with the S3 Single PUT Upload?
If the stream fails, it requires a full upload restart.
What is S3 Multipart Upload?
S3 Bucket Upload mode allows you to upload a single object with parts of 100MB.
What is the advantage of uploading files using S3 Multipart Upload?
Upload in parallel, and parts can be restarted in case of failure.
What are the benefits of using S3 Multipart Upload in a fast network?
What are the benefits of using S3 Multipart Upload in a Slow network?
Increase the resilience of network errors.
What is S3 Transfer Acceleration?
Feature enabled at bucket level that allows transfers of files over long distances between client and bucket.
What is created when you enabled S3 Transfer Acceleration?
A new accelerated endpoint to be used to upload files.
How does S3 Transfer Acceleration work to transfer data?
Data are uploaded to the closest Edge Location and then sent to the bucket using the network managed by AWS.
What is the restriction to bucket name to take advantage of S3 Transfer Acceleration?
The bucket name can not have "dots", and the name format must be DNS compatible.
- [Tool] http://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html