S3 Performance
Prefix
- Randomized prefix of s3 buckets improve the performance
- Each prefix has
- 3500 put request per sec
- 5500 get request per sec
Baseline
S3prefix is the text betweenBucket NameandFile Name- If
objectname isbucketName/folder1/folder2/object.jpeg, then the prefix isfolder1/folder2 - By default
S3is automatically scales at hight request rates - For each prefix it is possible to
- 3500 PUT/COPY/POST/DELETE request
- 5500 GET/HEAD request
- There is no limit of prefix
- The more prefix we use, the more request we can made
S3 KMS Limitation
- If we use
SSE-KMSencryption, we need to consider there is Encryptrequest toKMSwhile uploading a fileDecryptrequest toKMSwhile downloading a file- There is a quota of
Number Of KMS Requestper second.
Multi-Part Upload
- Recommended to use when file size size is more than
100MB - Must use when file size is more than
5GB - In this case, while uploading file
- Files divided in separate parts
- Upload these parts in parallel
S3join them after being uploaded
S3 Transfer Acceleration
- Use for upload file
- First file uploaded to the nearest
EDGE Location - Then using
AWS Private Network, goes to desired bucket - Compatible with multi-part upload
Byte Range Fetches
- Use for file fetches / download
- Parallelize Get by requesting specific byte ranges
- Can be used for retrieve only partial data
- Like header
Response Code
503when a new object is trying to update, while the same object has million of versions
List Items Parameters
--size-only: Used to determine if the local and cloud items are synced--exclude: Pass a pattern to exclude items--summary: Display number of retrieved items, total items etc--page-size: Default is 1000 page. If there are too many items, we can specify number of pages--max-items: Numbers of items to be displayed. If there are too many items, we can specify number items to be printed--starting-token: Previous results signature, so the next results will be shown
When there are too many items, we can make use of --page-size and --max-items
S3 Inventory
When an S3 bucket has versioning enabled and a single object has millions of versions, it can throttling and throw 503 error. To determine these objects, can be used the S3 Inventory.