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 |
Beta Was this translation helpful? Give feedback.
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!
Beta Was this translation helpful? Give feedback.
All reactions