【发布时间】:2018-04-10 16:31:37
【问题描述】:
我一直在寻找,但没有找到这个简单问题的答案:一般来说,AWS EBS 比 S3 快多少?
我正在寻找“快 X 倍”、“快 Y 个数量级”或“根据具体用例快 # 到 # 倍”的范围内的一般性答案。只要有与它们相关的实际相对性能 NUMBERS,我什至会选择给出不同用例的答案。
请注意,我不希望本主题讨论我可能尝试的各种其他解决方案(例如 DynamoDB、ElastiCache、RDS 等)或我选择的任何计算解决方案(例如 EC2、 Lambda、ECS 等)。我也找不到“你为什么要这样做?”反问很有帮助,无论它们在 StackOverflow 上出现的频率如何。
我只是在寻找“EBS 比 S3 快多少?”因为我现在对此一无所知,也没有找到可以为我提供我正在寻找的答案类型的资源。
是的,是的,我知道真正的答案必须是“视情况而定”,因为确定答案比我的问题要微妙得多。
我知道通常 EBS 更快,并且速度快多少取决于各种因素,例如驱动器类型、PIOP、网络速度等,所有这些都与特定用例相关。但在评估系统的设计成本/收益权衡时,肯定有一个通用的经验法则可以帮助在两者之间进行选择。 (“不,没有,别再叫我雪莉了。”)
如果你想知道我为什么要问,假设我只是好奇一般的速度差异是什么,以防我在建立一个廉价的网站时想要在它们之间做出决定- 在 EBS 或 S3 上的简单数据存储。 (同样,我不是在寻找设计选项)。
谢谢
【问题讨论】:
-
实际上有一个一般的经验法则可以在它们之间进行选择,但这与速度无关。当您需要将单个磁盘卷附加到单个 EC2 实例以进行文件存储时,您可以使用 EBS 卷。当您需要共享对象存储(可选地包括与 SQS 和 Lambda 等其他 AWS 服务的集成)以及可选地包括为更大的网站提供静态网站或静态文件时,您可以使用 S3。两种服务都可以配置为您需要的速度。您需要了解这两种服务的根本区别,而不是只看速度。
-
将 S3 视为 Dropbox/Google Drive 类型的服务。将 EBS 视为服务器的硬盘。请注意,将 S3 用作“非常简单”的数据存储可能不起作用。例如,您不能在 S3 上存储数据库并在不先将整个内容下载到 EC2 实例的情况下实际使用它,因为 S3 只允许您上传和下载整个文件,S3 不允许随机访问这些文件中的内容文件。
-
对。人们确实将 S3 用于此类事情。您可以将其与 Lambda + ElasticSearch 之类的东西结合使用,以允许搜索文件内容。从 EC2 实例连接到 S3 非常快,因为它是本地网络连接。在 AWS 之外,您可以启用 Transfer Acceleration 或将 CloudFront 放在 S3 存储桶的前面以加快速度。这是 S3 的一个非常有效的用例,因为它允许多个服务器和无服务器功能访问数据。
-
UVA 前段时间研究了 S3/EBS 的性能。不确定它今天的有效性,但您可能有兴趣阅读它(搜索 uva 水文亚马逊存储)。
标签: performance amazon-web-services amazon-s3 amazon-ebs