首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Amazon的I/O密集型MySql服务器

基于Amazon的I/O密集型MySql服务器
EN

Server Fault用户
提问于 2012-03-28 19:35:52
回答 2查看 1.3K关注 0票数 3

我们最近从传统的数据中心转向了基于AWS的云计算。我们正在与另一家公司合作开发一个产品,我们需要为我们将要发布的产品创建一个数据库服务器。

过去3年来,我一直使用Amazon,但这是我第一次收到这种非常具体的硬件配置规范。

我知道这是有取舍的,真正的硬件总是比虚拟机更快,知道了这个事实,你会推荐什么呢?

1)亚马逊EC2? 2) Amazon ? 3)其他什么? 4)忘了它吧,宝贝,坚持真正的硬件

这是硬件要求。

这台服务器将专注于I/O和MySQL,用于存储图像的统计信息、内存大小和磁盘空间。

服务器1

I/O在这个服务器上的主要部分将是I/O处理,FusionIO卡已经证明了自己非常高效,这是目前您可以在这个领域中拥有的最好的。融合ioDrive2 MLC 365 MLC (http://www.fusionio.com/load/-media-/1m66wu/docsLibrary/FIO_ioDrive2_Datasheet.pdf)

CPU MySQL将使用比Apache更少的CPU核心,但它将非常困难地使用它们,E7家族拥有30M缓存L3 wichi提供了提升性能:O1xIntelE7-2870将是可以的。

存储SAS在性能方面将足够好,特别是考虑到所需的空间。4×SAS 10k或15k中的RAID 10,总可用空间为512 GB。

考虑到统计数据数据库的大小,此服务器上至少需要64 GB的内存。警告:统计数据库将快速增长,如果可能考虑直接从128 GB开始,它将有所帮助。这台服务器将专注于I/O和MySQL,用于存储图像的统计信息、内存大小和磁盘空间。

服务器2

I/O在这个服务器上的主要部分将是I/O处理,FusionIO卡已经证明了自己非常高效,这是目前您可以在这个领域中拥有的最好的。融合ioDrive2 MLC 365 MLC (http://www.fusionio.com/load/-media-/1m66wu/docsLibrary/FIO_ioDrive2_Datasheet.pdf)

CPU MySQL将使用比Apache更少的CPU核心,但它将非常困难地使用它们,E7家族拥有30M缓存L3 wichi提供了提升性能:O1xIntelE7-2870将是可以的。

存储SAS在性能方面将足够好,特别是考虑到所需的空间。4×SAS 10k或15k中的RAID 10,总可用空间为512 GB。

考虑到统计数据数据库的大小,此服务器上至少需要64 GB的内存。警告:统计数据库将快速增长,如果可能考虑直接从128 GB开始,它将有所帮助。

提前谢谢。

最好的

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-03-28 21:03:11

问题:

  • 上面列出的两台服务器是完全相同的。
  • 您谈到了FusionIO,但也谈到了在同一个框中运行MySQL和Apache。
  • 您没有提到Apache文件或MySQL数据库(或其中的一部分,如ib_logfile)是否将位于FusionIO驱动器上。

误解:

“真正的硬件总是比虚拟机更快”,这并不一定是事实。的确,在相同的硬件上,同一个应用程序如果不是在虚拟机中会表现得更好,但是由于您无法访问Amazon的硬件,所以这种比较是没有意义的。

云的关键在于它是水平扩展的,所以如果你可以用一台服务器同时为100名访问者服务,你可以用10台服务器同时为1000名访问者服务,而不管你有多少服务器,每个访问者都能得到相同的响应速度。

与协同定位相比,云提供商有几个关键的区别。如果你能够利用它们,它们将使云中托管成为一个明显的赢家。

  1. 您可以非常快地上下旋转实例。如果您的流量非常迅猛(例如,您运行一个售票网站),那么您可以很容易地将您的web层、数据库层和/或存储层克隆到数百台虚拟机上,一小时后Justin Bieber的票才开始销售,并在一小时后全部关闭,以节省费用。基于硬件的解决方案通常需要数周的时间来增加您的容量,当它们没有被充分利用时,它们会继续花费成本。
  2. 前期的成本可以低得多。您提到的硬件除了您的其他托管成本外,还可能要花费数万美元。我的亚马逊服务器每月花费我大约15美元,但我可以轻松地将它扩展到一个更强大的虚拟机,并将其扩展到几十个负载平衡的实例,并提前通知一个小时。
  3. 他们为你做了很多工作。亚马逊还有其他服务,比如DynamoDB,它会自动扩展到您给它的工作负载或存储需求。它们在SSD中运行速度更快,并被复制到多个地方,从而为您提供冗余和可用性。

也就是说,您的应用程序必须能够水平缩放。你不能简单地把它扔到云中,指望它永远扩展。例如,默认PHP会话有两个问题:

  1. 它们存储在本地磁盘上,这意味着您需要使用粘性会话或共享磁盘,这将成为瓶颈。
  2. 它们是用flock()打开的,这是一个独占的、阻塞的文件锁。一次只能使用一个PHP进程。当您开始启动大量AJAX调用时,这可能是一个严重的问题。

这仅仅是一个例子,但是没有考虑到水平扩展的应用程序通常都是这样的独占资源。

如果您运行的是分布式数据库(亚马逊的数据库服务),那么您的应用程序还需要能够处理帽子定理中固有的权衡。这说明您可以获得这三个方面中的两个:一致性、可用性、分区容忍度。你需要知道你没有的三个中的哪一个,并让你的应用程序补偿它。

如果您的应用程序适合硬件,请选择硬件。如果它适合云端,那就选择云。

注意:我在这里以Amazon为例,但还有其他云托管提供商,它们具有非常快地旋转上下实例的类似功能,并且只向您实际使用的内容收费。

票数 3
EN

Server Fault用户

发布于 2012-03-28 20:15:28

为了从云解决方案中获得最大的性能,您需要为云构建架构。如果您担心您可以从设计为完全可伸缩的服务中获得多少IOPS (无论是向上还是向下),那么您正在考虑的是虚拟机而不是云计算。就现有IOPS的数量而言,我认为这篇关于EBS的文章解释了需要考虑的问题

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

https://serverfault.com/questions/374583

复制
相关文章

相似问题

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