SQL Server - EBS存储设计

2024-01-21

我们正在亚马逊上规划新的 EBS 结构,以获得 SQL Server 的最佳性能。过程中也出现了一些疑惑:

1- 使用亚马逊计算器(http://calculator.s3.amazonaws.com/index.html http://calculator.s3.amazonaws.com/index.html)我们得到的成本如下:

  • 通用 (SSD) - 1000GB - 3000 IOPS =$184,30
  • 预配置 IOPS (SSD) - 1000GB - 3000 IOPS =$511,00

对于相同的性能,这个数量在一个月内存在巨大差异(???),我知道通用 SSD 上的“IOPS 突发实现”,但根据文档:

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

当卷大小为 1000 GB 时,突发持续时间为“无限”(始终为 3000 IOPS)。

可以肯定地说上述两个磁盘之间的性能完全相同吗?

2- 我们需要大约 1700 GB 来容纳 100 个数据库,我们应该使用什么布局?

Options:

  • 获取两个磁盘 (GP SSD),每个磁盘容量为 1000GB (3000 IOPS),然后在这两个磁盘之间分配工作负载。
  • 获取每个 1000GB (3000 IOPS) 的两个磁盘 (GP SSD),然后将其与 RAID 0 放在一起? (我们将能够爆发 6000 IOPS,但我应该担心 EBS 故障吗?)
  • 获取四个磁盘 (GP SSD),每个磁盘 1000GB (3000 IOPS) 并使用 RAID 10? (有必要用EBS吗?)
  • 提出您的建议,我将很高兴听到。

来自亚马逊支持,希望这有帮助!


问候

磁盘成本问题很容易回答。通用 (SSD) 和预配置 IOPS (SSD) 使用类似的技术。它们并排可以达到相同的速度,唯一的区别是每卷 GP2 最大速度为 3000,PIOP 为 4000。 PIOPS 昂贵得多的原因之一是您还需要为您使用的 IO 数量付费,而 GP2 则没有每个 IO 成本。

至于1700GB数据存储的设计,有两个主要因素。冗余和性能。当然,成本是一个重要因素。为了在这里提供正确的指导,我们需要知道您的实际需求是什么,然后我们可以建议一些解决方案。然而,有几个主要的 RAID 级别等与您建议的相匹配,我们可以讨论。

  • 获取两个磁盘 (GP SSD),每个磁盘容量为 1000GB (3000 IOPS),然后在这两个磁盘之间分配工作负载。 没有 RAID。我认为您的意思是在一个卷上有一些数据库,在另一卷上有一些数据库?这对我来说,其实很好。除此之外,我要做的就是将数据库备份到其他一些本地连接的 EBS 卷。这适用于不超过 3000 IO(读写组合)的工作负载。它也很容易扩展。只需添加更多磁盘即可。

  • 获取每个 1000GB (3000 IOPS) 的两个磁盘 (GP SSD),然后将其与 RAID 0 放在一起? (我们将能够爆发 6000 IOPS,但我应该担心 EBS 故障吗?) RAID 0。您在这里所做的只是使速度提高两倍。但丢失一张磁盘就会丢失一切。同样,如果您愿意在磁盘发生故障时从备份中恢复,那么这是一个快速廉价的配置,最多可支持 6000 IO。不易扩展。

  • 获取四个磁盘 (GP SSD),每个磁盘 1000GB (3000 IOPS) 并使用 RAID 10? (有必要用EBS吗?) RAID 5、6 和 10。这些都更快且冗余度更高。可以说,RAID 10 是数据库的最佳配置,并且可能是适合您的配置。拥有 1700 GB 的数据,如果出现问题,将会有很多很多人不高兴。

  • 有什么建议么? 您考虑过亚马逊RDS吗? RDS 有很多优点。我们负责所有繁重的工作,包括多可用区部署,并且 RDS 可以随着您的需求增长而垂直(CPU)和水平(空间)扩展。

http://aws.amazon.com/rds/details/ http://aws.amazon.com/rds/details/

GP2 需要考虑的另一件事是......您“可能”不需要配置 1TB 卷。您可能不需要 3000 IO“无限”突发模型。假设您确实希望始终以 3000 IO 运行。为什么不配置 5 x 200GB 卷,其中每个卷每 GB 具有 3 个 IO。所以5x200x3=3000IO基线。将 5 个卷放在 raid 5 中(例如),您一整天应该获得大约 3000IO,并且如果您不超过这个数量,永远不会用完信用(并且 IO 是平均分配的)

但是,在将速率限制为每卷 600IO 之前,这些卷可以连续 30 分钟突增至 3000 IO。总共还是3000IO。所以...在这个配置中,您可以随时爆发到 15,000IO,当您确实受到限制时,您仍然拥有您预测需要的 3000IO。只是不要以超过 3000 的速度运行超出需要的范围,否则你将没有剩余的爆发力。

整洁吧?我认为值得打电话或聊天来讨论您的实际需求并回答任何问题。但最终,您需要对您决定采用的设计进行测试和基准测试,因为谈论的事情和实际结果总是会有所不同!我想你们已经相当先进了,但是 - 如果您想对各种设计进行一些简单的测试来帮助您决定什么是最好的,这里有一个很好的示例基准。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server - EBS存储设计 的相关文章

随机推荐