S3 Performance Flashcards
What is an S3 prefix?
- An S3 prefix is the part of the file path between the bucket name and the object (ex. ‘mybucketname/folder1/subfolder1/myfile.jpg’ has prefix ‘/folder1/subfolder1’)
What does KMS have to do with performance?
- Uploading and downloading files count towards the KMS quota
The exact amount for the quota is region-specific, but is either 5,500; 10,000; or 30,000 requests per second.
How can you request a quota increase for KMS?
Currently, there is NO way to request a quota increase for KMS
What is Multi-Part Upload?
- The Idea behind Multi-part uploads is to parallelize an upload (and thus increase its efficiency)
- This is done by splitting a big file into parts and then uploading the individual parts in parallel
What are S3 Byte Range Fetches?
- S3 Byte Range Fetches allow you to speed up downloads by parallelizing them.
- You parallelize by specifying exact byte ranges
- If there is a failure in the download, it is only for a specific byte range.
What would you use if you just want to download partial amounts of a file?
S3 Byte Range Fetches with just the relevant bytes
At what file size is Multi-Part Upload recommended?
100MB
At what file size is Multi-Part Upload required?
5GB
What do S3 prefixes have to do with performance?
- They are important for performance because requests are measured per second per prefix
- So, you can get better performance by spreading your reads across different prefixes
How many PUT requests can AWS handle?
3,500 per prefix per second
How many COPY requests can AWS handle?
3,500 per prefix per second
How many POST requests can AWS handle?
3,500 per prefix per second
How many DELETE requests can AWS handle?
3,500 per prefix per second
How many GET requests can AWS handle?
5,500 per prefix per second
How many HEAD requests can AWS handle?
5,500 per second per prefix