首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储只读实例数据的最佳实践?

存储只读实例数据的最佳实践?
EN

Server Fault用户
提问于 2011-10-04 11:30:16
回答 3查看 1.5K关注 0票数 0

因此,我目前正在写我的单身汉论文,我的工作是为一个推荐图片配音的网络服务云化。推荐过程的主要部分是查找~40 of索引文件。索引文件是只读的,读取应该尽可能快。我还想根据需要自动启动其他实例。我做了一些研究,有三种可能的方法

  1. 增加ec2实例的根分区(到50 an ),将索引文件存储在根分区上,并创建一个AMI。这种方法的好处是,启动新实例非常容易,因为所有内容都包含在AMI中。但我也读到根分区的速度非常慢。
  2. 将数据存储在EBS卷上,创建它的快照,每当我启动一个新实例时,我就从快照创建一个新的EBS卷,并将它附加到实例中。我认为这是最好的方法,但启动一个新实例要复杂得多。
  3. 将索引文件存储在S3上,每当启动新的ec2实例时,我都会将该文件下载到实例的临时存储中。这种方法的问题是,在新实例可操作之前,需要花费更多的时间,以及通信的成本。

我还想做一个Raid0设置来提高索引文件的读取性能。那我该用哪种方法呢?

EN

回答 3

Server Fault用户

发布于 2011-10-04 12:08:33

注释号与上面的选项相对应。

  1. 我总是建议将数据放在根之外的单独的EBS卷上,但是如果它是只读的,并且在构建AMIs时很容易获得,那么我可能会做一个例外。我不明白为什么EBS根卷应该比任何其他EBS卷慢。
  2. 如果您正确地设置了AMI,这是很容易的。请参阅在EC2-寄存器中设置块设备的选项。Amazon可以根据快照自动为您创建卷,并将它们添加到新实例中,就像它们用于根卷一样。
  3. 在与该区域相关的端点中,EC2实例与S3之间的通信是免费的。EBS卷有收费,EBS卷有IO收费。

仅仅因为快照创建的EBS卷可以在从S3完全下载完大文件之前使用,并不一定意味着EBS更快。卷几乎可以立即接受操作,但是在快照填充块时,您将体验到很高的iowait。

根据应用程序的性能要求,您可能会发现在将EBS卷投入生产之前,您需要“热身”它。这与从S3下载它实际上是一回事。(我希望看到这些选项的一些性能测试。)

这都假设将索引放到磁盘上是正确的做法。为了获得最好的性能,如果您能够负担得起足够大的实例,可以尝试将其全部加载到内存中。另一方面,简单地使用具有磁盘索引的高内存实例可能最终会使用操作系统中的标准磁盘缓冲将其加载到内存中。

根据您要索引的内容和访问它的方式,您还可以查看SimpleDB、RDS、ElastiCache。

票数 1
EN

Server Fault用户

发布于 2011-10-04 12:14:31

这个网络服务已经存在了还是你在做什么或者.因为我的回答是不要把它弄得模糊不清。为了获得最大的读取性能,我会得到一个有SSD的不错的服务器。

但是你也必须弄清楚你从“云”方面得到了什么。"Clouds“只允许您在一组地理位置不同的数据中心中创建许多实例;即使这样,您也不能保证您的最终用户将获得良好的响应时间(就像Amazon一样,如果有人在纽约的数据中心访问您的服务器,而您的客户在澳大利亚,您如何获得一致的性能?)

性能瓶颈在哪里?如何将元素解耦以提高性能?磁盘读取本身将由SSD来处理。“云”不能神奇地提高性能;它在很大程度上是应用程序体系结构的一个功能。我还没有对它进行测试,如果有人有,我想知道一般的数字,但是在您寻找提高性能时按需启动各种实例的建议似乎会导致更大的开销,从而会扼杀您的数据库性能。

此外,当您想要从磁盘中缓存@#%时,您将重点放在磁盘上。无论您的磁盘性能有多快,您都不会超过一组好的缓存服务器来保持内存中的记录热而不是磁盘上的冷。再一次,应用程序的体系结构功能。这是另一件在启动更多VM时会对您造成伤害的事情;可以说,在缓存被“启动”之前,旋转VM会杀死缓存并导致延迟。

票数 1
EN

Server Fault用户

发布于 2016-07-06 13:32:40

如果速度比我建议的使用InstanceStore而不是EBS更值得关注。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/318278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档