Rate limiting on bulk DELETE-s #6996
Replies: 1 comment
https://www.perfectscale.io/blog/aws-s3-throttling
so for 1: it's 1000 ops, 1 request (+1 in CloudWatch) and 1000 files hitting same prefix a/b/1 |
https://www.perfectscale.io/blog/aws-s3-throttling
so for 1: it's 1000 ops, 1 request (+1 in CloudWatch) and 1000 files hitting same prefix a/b/1 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi there, I was reading docs in https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html
And got a question about this part
Let's say I have a structure like
And deleting using bulk deletes (
DeleteObjectsRequest).Do I get it right, that requests containing only files from one sub-directory, say
[file1_1, ...file1_1000]will be rate limited for the common prefixa/b/1and entire request counts as 1?Let's say a single request contains a mix - 500 files from
a/b/1and 500 files froma/b/2. How rate limit is applied here?a) it's counted as 1, content doesn't matter -> probably not the case as it would contradict with "per partitioned Amazon S3 prefix"
b) it's counted as 2, because we have 2 common prefixes in the request.
c) it's counted as 1000 because each item is handled separately?
From https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html
d) Same like c but deferred/heuristic, ie there are some stats that are being gathered
https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html
>And Amazon S3 automatically scales to high request rates
ie it's not exactly 1000 but smth close to it. And I fire X bulk requests with same prefix in a second throughout
long time window, I can expect that rate will be close to
X*1000, and the longer the time window, the closer it's toX*1000Bonus question in case it's 2b - I think implication here is that optimal way to keep request rate low is to batch files with common prefix together and avoid mixing files with different prefixes in a single request, is this correct?
For GET -> List API i think it's trivial as it's set by a user explcitily
meaning that I can fire 5500 such requests with different prefixes in a second, is it correct?
Thanks!
All reactions