You are designing a web application that stores static assets in an Amazon Simple Storage Service (S3)
bucket. You expect this bucket to immediately receive over 150 PUT requests per second. What should you do
to ensure optimal performance?
A.
Use multi-part upload.
B.
Add a random prefix to the key names.
C.
Amazon S3 will automatically manage performance at this scale.
D.
Use a predictable naming scheme, such as sequential numbers or date time sequences, in the key names
Explanation:
One way to introduce randomness to key names is to add a hash string as prefix to the key name. For
example, you can compute an MD5 hash of the character sequence that you plan to assign as the key name.
From the hash, pick a specific number of characters, and add them as the prefix to the key name.
B
When uploading a large number of objects, customers sometimes use sequential numbers or date and time values as part of their key names. For example, you might choose key names that use some combination of the date and time, as shown in the following example, where the prefix includes a timestamp:
http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html
Yes, its B
I think it is “B”.
If you anticipate that your workload will consistently exceed 100 requests per second, you should avoid sequential key names. If you must use sequential numbers or date and time patterns in key names, add a random prefix to the key name. The randomness of the prefix more evenly distributes key names across multiple index partitions. Examples of introducing randomness are provided later in this topic.
http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html
B