整合实例 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

整合实例

本节重点介绍将多个SQL服务器实例合并到同一台服务器上的成本优化技术,以最大限度地降低许可成本并最大限度地提高资源利用率。

概述

创建实例是安装SQL服务器数据库引擎过程的一部分。SQL服务器实例是一个完整的安装,包含自己的服务器文件、安全登录和系统数据库(主数据库、模型数据库、msdb 和 tempdb)。由于一个实例拥有自己的所有文件和服务,因此您可以在同一个操作系统上安装多个SQL服务器实例,而这些实例不会相互干扰。但是,由于这些实例都安装在同一台服务器上,因此它们共享相同的硬件资源,例如计算、内存和网络。

在生产环境中,通常每SQL台服务器只使用一个服务器实例,这样 “繁忙” 的实例就不会过度使用共享的硬件资源。与依赖资源治理相比,为每个SQL服务器实例提供自己的操作系统和自己的资源是一个更好的界限。对于需要大量RAM和CPU资源的高性能SQL服务器工作负载尤其如此。

但是,并非所有SQL服务器工作负载都使用大量资源。例如,出于合规性或安全考虑,一些组织为每位客户分配自己的专用SQL服务器实例。对于较小的客户机或通常不处于活动状态的客户端,这意味着使用最少的资源运行SQL服务器实例。

正如《Microsoft SQL Server 2019:许可指南》中所述,每SQL台运行服务器的服务器必须至少占用四个CPU许可证。这意味着,即使你运行的服务器只有两个vCPUs,你仍然必须为四个 SQL Server 授予许可vCPUs。根据微软的公共SQL服务器定价,如果你使用SQL服务器标准版,则相差3,945美元。对于使用最少资源使用单个SQL服务器实例运行多台服务器的组织来说,必须许可未使用资源的综合成本可能很高。

成本优化场景

本节探讨了一个示例场景,该场景比较了运行四台 Windows Server 服务器(每台SQL服务器只有一个服务器实例)与同时运行多个服务器实例的大型 Windows Ser SQL ver 服务器之间的区别。

如果每个SQL服务器实例只需要 2 vCPUs 和 8 GBRAM,则服务器许可证每台服务器的总成本为 7,890 美元,每小时计算成本为 0.096 美元。SQL

EC2实例 vCPUs RAM Price vCPUs 去许可 SQL服务器许可总成本
m6i.large 2 8 0.096 4 7,890 美元

将其扩展到四台服务器,SQL服务器许可证的总成本为31,560美元,每小时的计算成本为0.384美元。

EC2实例 vCPUs RAM Price vCPUs 去许可 SQL服务器许可总成本
4x m6i.large 2 32 0.384 16 31,560 美元

如果您将所有四个SQL服务器实例合并到一个EC2实例中,则计算资源和计算的总量将保持不变。但是,通过消除不必要的SQL服务器许可成本,您可以将运行工作负载的总成本降低15,780美元。

EC2实例 vCPUs RAM Price vCPUs 去许可 SQL服务器许可总成本
m6i.2xlarge 8 32 0.384 8 15,780 美元
注意

在前面的表格中,计算成本显示了us-east-1在该地区运行 Windows Server 的亚马逊EC2服务器的按小时按需定价。SQL服务器标准版许可成本是指微软的公共SQL服务器定价

成本优化建议

如果您正在考虑整合SQL服务器实例,那么最担心的是要整合的每个实例的资源消耗。为了更好地了解每台服务器上的工作负载模式,获取长期的性能指标非常重要。一些用于监控资源消耗的常用工具包括亚马逊 CloudWatchWindows 性能监视器 (perfmon) 和SQL服务器的本机监控工具

在分析您的SQL服务器工作负载是否可以组合使用相同的服务器资源而不相互干扰时,我们建议您考虑以下问题:

  • 稳定状态期间消耗了哪些资源(CPU、内存和网络带宽)?

  • 峰值期间会消耗哪些资源(CPU、内存和网络带宽)?

  • 尖峰多久发生一次? 尖峰是否一致?

  • 一台服务器的资源峰值是否与另一台服务器的资源峰值重合?

  • SQL服务器使用的存储空间IOPS和吞吐量是多少?

如果您想继续制定合并SQL服务器实例的计划,请参阅 AWS 云运营与迁移博客上的 “在一个 Amazon EC2 实例上运行多个SQL服务器实例” 一文。这篇文章提供了有关如何在 SQL Server 中进行配置更改以添加其他实例的说明。在开始之前,请考虑在同一台服务器上安装多个实例时的细微差别:

  • 默认的SQL服务器数据库实例命名为MSSQLSERVER并使用端口 1433。

  • 安装在同一台服务器上的每个其他实例都是一个 “命名” 数据库实例。

  • 每个命名的实例都有一个唯一的实例名称和一个唯一的端口。

  • 必须运行SQL服务器浏览器来协调指定实例的流量。

  • 每个实例都可以使用不同的位置来存放数据库数据文件和单独的登录。

  • SQL服务器最大服务器内存设置必须根据每个实例的性能需求进行配置,其组合总内存还会为底层操作系统留出足够的内存。

  • 您可以使用 SQL Server 本机备份和恢复功能,也可以AWS DMS用于迁移或整合。

其他资源