【发布时间】:2020-11-18 05:15:00
【问题描述】:
在 SO 上有足够多的类似问题和答案。但是很少提及前缀。 首先,不再需要前缀随机化,参见here
此 S3 请求率性能提升消除了之前的任何 指导随机化对象前缀以实现更快的性能。 这意味着您现在可以在 S3 中使用逻辑或顺序命名模式 对象命名没有任何性能影响。
现在回到我的问题。我仍然得到“减速”,我不明白为什么。
我所有的对象分布如下:
/foo/bar/baz/node_1/folder1/file1.bin
/foo/bar/baz/node_1/folder1/file2.bin
/foo/bar/baz/node_1/folder2/file1.bin
/foo/bar/baz/node_2/folder1/file1.bin
/foo/bar/baz/node_2/folder1/file2.bin
每个节点都有自己的前缀,然后是“文件夹”名称,然后是“文件”名称。每个“文件夹”中大约有 40 个“文件”。假设我有大约 20 个节点,每个节点下大约有 200 个“文件夹”,每个文件夹下有 40 个“文件”。在这种情况下,前缀由公共部分“/foo/bar/baz”、节点和文件夹组成,所以即使我并行上传所有 40 个文件,单个前缀的压力也是 40,对吧?即使我从所有节点向每个“文件夹”上传 40 个文件,每个前缀的压力仍然是 40 个。那是对的吗?如果是,我怎么会得到“减速”?如果没有我应该如何照顾它?自定义RetryStrategy?采用指数退避的DefaultRetryStrategy 怎么解决不了这个问题?
EDIT001: Here前缀是什么意思的解释
【问题讨论】:
-
我看到了两种可能的解决方案:1)降低您的请求率。 2) 向 AWS 支付费用,使其没有请求速率限制。
-
没有钱能买到的请求限制这种东西
-
当然有。您可以从 AWS 购买专用硬件和保证带宽等。如果您支付足够的费用,您可以获得尽可能多的请求。有了足够大的支票,亚马逊会给你任何你想要的东西(你也可以让他们在牛排晚餐中加入)。
-
非常有趣 :) 那么,我在哪里买这个限制?
-
所以您坚持认为 AWS S3 文档中提到的每个前缀 3500 个 PUT 请求的限制并不是真正的限制,只需花一些钱就可以解决问题?
标签: amazon-web-services amazon-s3 aws-sdk