评估企业 Intranet 协作环境的性能和容量要求 (SharePoint Server 2013)
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
本文包含基于 SharePoint Server 2013 的企业 Intranet 协作解决方案性能和容量的指南。 它包含以下内容:
实验室环境规范,例如硬件、服务器场拓扑和配置
用于生成测试负载的测试服务器场工作负载和数据集
用于演示和解释在特定规模的负载下吞吐量、延迟和硬件要求中的趋势的测试结果和分析。
使用本文中的信息了解正常和高峰负载下方案的特征,以及在服务器场扩展时性能趋势的变化方式。本文还可以帮助您为计划的体系结构评估一个合适的起点,并衡量哪些因素是您在规划资源以使您的服务器场在高峰负载下维持可接受的性能级别是应重点考虑的。
此环境的介绍
本文提供有关如何在 SharePoint Server 2013 企业 Intranet 协作解决方案中扩展服务器的指南。 容量规划讨论了关于购买硬件的决策和可优化解决方案的系统配置。
单个 SharePoint Server 2013 服务器场是唯一的,根据硬件、用户行为、已安装功能的配置和许多其他因素,每个服务器场都拥有不同的要求。 因此,请将本指南补充为你自己的环境中你自己的硬件上的其他测试。 如果您规划的设计和工作负载与本文中描述的环境相似,您可以使用此文章得出如何扩展您的环境的结论。
这些文章中显示的测试结果是在使用模拟高度控制条件下生产环境的工作负载、数据集和体系结构的测试实验室内产生的。 即使在设计这些测试时非常小心,测试实验室的性能特征也永远不会与生产环境的行为相同。 这些测试结果不表示生产场的性能和容量特征。 相反,测试结果将演示吞吐量、延迟和硬件要求中的观察趋势,并提供观察数据的分析,以帮助您就如何规划容量和管理您自己的服务器场作出决策。
本文包含以下内容:
规范,包括硬件、拓扑和配置
工作负载,包括服务器场要求的分析、用户数和使用特征
数据集,例如数据库大小和内容类型
扩展 Web 服务器的测试结果和分析
物理服务器和虚拟机上 SharePoint Server 2010 和 SharePoint Server 2013 吞吐量、延迟和 Web 服务器性能的比较
阅读本文之前,请阅读以下文章确保您已了解 SharePoint Server 2013 中容量管理背后的关键概念。
这些文章提供以下信息:
容量管理的推荐方法
如何有效利用本文中的信息
本文中所使用的术语的定义
术语表
下面是本文中你将遇到的一些专用术语。
RPS: 每秒请求数,或者场或服务器在一秒内收到的请求数。 这是测量服务器和服务器场负载的常用方法。
请求不同于页面加载。 页面包含若干个组件,在加载页面时每个组件会创建一个或多个请求。 因此,一个页面加载会创建多个请求。 通常,使用无关紧要资源的身份验证检查和事件不会计入 RPS 度量值。
绿色区域: 绿色区域表示正常操作条件(最高为预期的每日高峰负载)下定义的负载特征集。 在此范围运行的服务器场应该能够将响应时间和延迟维持在可接受的参数范围中。
在此状态下,服务器可以保持以下设置条件:
至少 75% 的请求的服务器端延迟小于 1 秒。
所有服务器场都将平均 CPU 使用率保持在 60% 以下。
注意
由于此实验室环境没有运行活动的搜索爬网,数据库服务器将保持在大约 50% 或更低的 CPU 使用率以留出 10% 用于搜索爬网负载。 此操作假设生产中使用了 SQL Server 资源管理器,以将搜索爬网负载限制为 10% CPU。
失败率低于 0.01%。
红色区域(最大): 红色区域表示高峰操作条件下定义的负载特征集。 在红色区域中,服务器场经历非常高的短暂资源需求,在故障和其他性能及可靠性问题发生之前,该需求仅可以持续限定的时间。
在此状态下,服务器可以保持以下设置条件一段时间:
已启用 HTTP 请求限制功能,但是未返回任何 503 错误(服务器繁忙)。
失败率低于 0. 1%。
至少 75% 的请求的服务器端延迟小于 3 秒。
所有服务器场(数据库服务器除外)都将平均 CPU 使用率保持在约 90% 以下。
数据库服务器平均 CPU 使用率小于 50%,以便为搜索爬网负载留出足够的开销。
AxBxC(图形表示): 它分别表示服务器场中 Web 服务器、应用程序服务器和数据库服务器的数量。 例如,10x1x1 意味着此环境包含 10 个 Web 服务器、1 个应用程序服务器和 1 个数据库服务器。
MDF 和 LDF: SQL Server 物理文件。 有关详细信息,请参阅 文件和文件组体系结构。
概述
本节提供了扩展方法和测试拓扑的概述。
扩展方法
本节介绍了我们采用的扩展此实验室环境的方法。 此方法使您可以找到最佳的工作负载配置:
我们扩展了 Web 服务器,直到使用四个 Web 服务器。 每个服务器都运行分布式缓存服务。
添加运行分布式缓存服务的专用服务器。
禁用 Web 服务器上的分布式缓存服务。
我们在测试范围内将更多 Web 服务器扩展到了最大值。
我们进行了更多测试,以比较 SharePoint Server 2013 和 SharePoint Server 2010 的性能特征。
方法和测试说明
由于本文提供测试实验室环境的结果,我们可以控制某些因素来显示此工作负载的特定方面的性能。 此外,某些生产环境的元素(在下面的列表中列出)被排除在实验室环境之外,以减少测试环境的开销。
注意
建议您将这些元素包括在生产环境中。
在测试运行期间,我们一次仅修改一个变量,以便轻松地比较测试运行之间的结果。
数据库服务器不是群集的一部分,因为对于这些测试来说,不需要冗余。
测试期间未运行搜索爬网。 它可能在生产环境中运行。 考虑到这一点,我们降低了"绿色区域"和"红色区域"定义中的 SQL Server CPU 使用率,以提供测试期间运行搜索爬网通常将消耗的资源。
规格
本节提供了有关硬件、软件、拓扑和实验室环境配置的详细信息。
硬件
本节介绍了在此实验室环境中使用的硬件。
重要
请注意,已使用 Hyper-V 主机虚拟化了测试实验室中的所有 Web 服务器和应用程序服务器。 未虚拟化数据库服务器。 物理主机硬件和虚拟机虚拟硬件在下面分别进行了详细介绍。
Hyper-V 主机
共有六台配置完全相同的 Hyper-V 主机用于测试。 每个主机运行一到两台虚拟机。
主机硬件 | 值 |
---|---|
处理器 |
2 个四核 2.49 GHz 处理器 |
RAM |
32 GB |
操作系统 |
Windows Server 2008 R2 SP1 |
网络适配器数量 |
2 |
网络适配器速度 |
1 GB |
虚拟 Web 服务器和应用程序服务器
服务器拥有 1 到 10 个虚拟 Web 服务器。 一个额外的专用虚拟服务器运行分布式缓存服务。
注意
在生产环境中,通常会使用高度可用的配置来部署运行分布式缓存服务的专用服务器。 出于测试目的,我们将单个专用服务器用于分布式缓存,因为高可用性并非关键因素。
VM 硬件 | WFE1-10 和 DC1 |
---|---|
处理器 |
4 个虚拟处理器 |
RAM |
12 GB |
操作系统 |
Windows Server 2008 R2 SP1 |
SharePoint 驱动器的大小 |
100 GB |
网络适配器数量 |
2 |
网络适配器速度 |
10 GB(主机间的流量受到主机 NIC 速度的限制) |
身份验证 |
Windows NTLM |
负载平衡器类型 |
F5 Big IP |
本地运行的服务 |
WFE 1-10:基本的联合服务。 包括以下内容:SharePoint 定时服务、Word Automation Services、Excel Services 和 Microsoft SharePoint Foundation 沙盒代码服务。 DC1:分布式缓存服务。 |
数据库服务器
一个物理数据库服务器运行带 SharePoint 数据库的默认 SQL Server 实例。 本文未跟踪日志记录数据库。
注意
如果您启用使用情况报告,建议您将日志记录数据库存储在单独的逻辑单元 (LUN) 中。 大型部署和某些中型部署可能要求专用日志记录数据库来满足大量日志的处理器需求。 > 在此实验室环境中,日志记录受到约束,日志记录数据库存储在单独的 SQL Server 实例中。
数据库服务器 - 默认的实例 | SPSQL |
---|---|
处理器 |
4 个四核 2.4 GHz 处理器 |
RAM |
32 GB |
操作系统 |
Windows Server 2008 R2 SP1 |
存储和几何图形 |
直接附加存储 (DAS) 1 x 系统卷(RAID0,1 个心轴,300GB) 2 x 内容数据卷(RAID0,4 个心轴,每个 450GB) 2 x 内容日志卷(RAID0,2 个心轴,每个 450GB) 1 x 临时数据卷(RAID0,2 个心轴,每个 300GB) 1 x 临时日志卷(RAID0,2 个心轴,每个 300GB) |
网络适配器数量 |
1 |
网络适配器速度 |
1 GB |
身份验证 |
Windows NTLM |
软件版本 |
SQL Server 2008 R2 |
拓扑
下图显示了此实验室环境中的拓扑。
配置
为了实现最佳测试性能并明确测试参数和结果之间的关系,对此实验室环境进行了显著的配置更改。
设置 | 值 | 注释 |
---|---|---|
网站集 |
179 |
测试环境中的网站集使用默认的设置和 Windows 声明身份验证。 |
Blob 缓存 |
位置 |
默认设置为禁用。 如果您启用 Blob 缓存,您可以通过降低对数据库服务器的调用(用于可能经常请求的静态页面资源),提高服务器效率。 |
最大并行度 (MAXDOP) |
1 |
可在 SQL Server 实例或包含 SharePoint Server 2013 内容数据库的实例上设置此参数。 默认值为 0,它将启用 SQL Server 来确定最大并行度。 SharePoint Server 2013 要求为包含 SharePoint Server 2013 数据库的 SQL Server 实例将 MAXDOP 设置为 1。 有关如何为 SQL Server 2008 R2 配置 MAXDOP 设置的信息,请参阅最大并行度选项。 有关如何为 SQL Server 2012 配置 MAXDOP 设置的详细信息,请参阅配置 max degree of parallelism 服务器配置选项。 |
Workload
本节介绍了针对 SharePoint Server 2013 运行的实验室测试。 测试的详细信息构成了典型的企业协作环境。
数据集
在本文中,实验室环境的数据集代表了典型的企业协作环境,它包含了各种网站集、网站、列表、库、文件类型和大小。
数据集特征 | 值 |
---|---|
数据库大小(组合) |
174 GB |
MDF 大小 |
154 GB |
LDF 大小 |
20 GB |
BLOB 大小 |
152 GB |
内容数据库的数量 |
2 |
网站集的数量 |
179 |
Web 应用程序的数量 |
1 |
网站的数量 |
1,471 |
结果和分析
以下结果根据本文的概述部分中描述的扩展方法进行了排序。
Web 服务器横向扩展
本节介绍了我们在此实验室环境中扩展 Web 服务器数量时所获得的测试结果。
测试方法
添加使用相同硬件规范的 Web 服务器,然后在不更改服务器场或测试参数的情况下再次运行测试。
测量测试服务器场中每个服务器上的 RPS、延迟和资源使用率。
分析
在我们的测试中,我们发现了以下现象:
可将环境扩展为每台数据库服务器 10 台 Web 服务器。 吞吐量呈线性增长。
即使达到 10 个 Web 服务器的最大测试规模,添加更多数据库服务器也不会增加吞吐量。 瓶颈仅限于 Web 服务器资源。
在整个测试中绿色区域的平均延迟几乎是恒定的。 Web 服务器的数量和吞吐量不会影响绿色区域延迟。 红色区域延迟数据显示预期的趋势线。 单个 Web 服务器的延迟较高。 介于 2 和 10 之间的 Web 服务器曲线不会超出红色区域标准。
注意
当您将分布式缓存服务从服务器场的 Web 服务器移至专用的分布式缓存服务器时,可能会对延迟造成一定的影响。 发生此情况的原因可能是因为,先前位于每个 Web 服务器内部的分布式缓存流量会开始穿过网络。 在您自己的环境中测试扩展性能以确定这样的权衡是否重要。 请注意,将分布式缓存服务迁移到专用服务器时,测试环境中的延迟会出现一定的增长。 延迟会随着每个 Web 服务器的添加而降低,这是因为名义上增加的延迟会因 Web 服务器上处理和内存负载的减少而被抵消。 > 有关分布式缓存容量规划的详细信息,请参阅 在 SharePoint Server 中规划源和分布式缓存服务。
为 SharePoint Server 2010 执行性能测试时,使用 4 个 Web 服务器的数据库服务器成为最大吞吐量的瓶颈。 由于 SharePoint Server 2013 中缓存和数据库使用特征的改进,数据库服务器层的平均负载低于 SharePoint Server 2010 中的负载,并且无需在测试期间横向扩展数据库服务器。
有关此方案的 SharePoint Server 2010 测试结果的详细信息,请参阅企业 Intranet 协作环境实验室研究 (SharePoint Server 2010)
当您根据主机硬件资源和同一主机上运行的其他虚拟计算机上的资源使用率,添加虚拟 Web 服务器时,性能将增加。 虚拟服务器的容量规划要求额外的特定于虚拟化的规划和管理策略。
有关 Hyper-V 性能和容量规划的详细信息,请参阅 SharePoint 2013 的 Hyper-V 虚拟化要求 和使用 SharePoint 2013 虚拟机和 Hyper-V 环境的最佳做法配置。
注意
本节中介绍的结果特定于构成环境的硬件。 在环境中使用数量更多但功能更少的 Hyper-V 主机服务器,或者使用数量更少但是功能更强大的 Hyper-V 主机服务器所达到的吞吐量可能是相同的。 数据库服务器上硬件资源的增加实际上不会影响结果。
结果、图形和图表
在下面的图形中,x 轴显示服务器场中 Web 服务器数量的变化。 该规模一开始使用 1 个虚拟 Web 服务器和一个物理数据库服务器 (1x1)。 最大值为 10 个虚拟 Web 服务器、一个专用虚拟分布式缓存服务器(在达到 4 个 Web 服务器时添加的)和一个物理数据库服务器 (10x1x1)。
注意
本节中的图形表示测试期间每个数据点的平均值。 所有图形均包括用于绿色和红色区域的 RPS 基线,用来显示 RPS 和诸如延迟、服务器资源使用率以及 SQL Server 磁盘使用率等因素之间的关系。
1. RPS
下图显示了扩展将如何影响 RPS 基线。
2. 延迟
下图显示了扩展如何影响延迟。 请注意绿色区域延迟大多呈平整状态,而红色区域延迟则会在可接受的限制范围内出现温和的波动。
3. Web 服务器处理器和内存使用率
下图显示了扩展如何影响 Web 服务器上的处理器和内存的平均使用率。 请注意绿色区域中的处理器使用率会随着 RPS 的增加而保持恒定,而平均内存使用率则会出现少量增长。
红色区域中的处理器使用率的趋势是向下的,这反映了在最大负载下,Web 服务器的处理器平均需求量会随着服务器数量的增加而递减。
4. SQL Server每秒 I/O 操作数 (IOPS) 和处理器使用率
下图显示平均的磁盘 IOPS(总数和读取/写入数)和处理器使用率值会随着 Web 服务器数量的扩展而发生改变。下面的性能计数器用于测量 IOPS 值:
PhysicalDisk: 磁盘读取数/秒
PhysicalDisk: 磁盘写入数/秒
将计算出测试期间每个计数器值的平均值,然后通过加在一起以生成 IOPS 总数。
注意
SQL Server 内存使用率的数据不可用并且不在此图形中。
重要
这些 IOPS 测试结果不代表生产环境,因为我们的数据集比生产服务器场要小得多。 所以,与生产环境相比,Web 服务器或许能够缓存更大比例的数据。 因此,本节中的 IOPS 结果是基于可用测试数据得出的平均值,并且通常预期会小于生产环境中的 IOPS。 在试验环境中全面测试您自己的服务器场可能会产生不同的结果。
请注意在本节中的图表中,IOPS 和数据库服务器处理器使用率在 9 台和 10 台前端 Web 服务器时会出现下降,但 RPS 仍将继续增长。 此变化也会反映在 Web 服务器处理器使用率中,如前面的图形中所示。
这显示服务器场的规模已经达到一个界点,即此时因使用基线负载和数据集而对服务器场资源形成的压力已达到最大值。 要求使用较低的服务器资源使用率平均值来支持服务器场上的负载。
可从此趋势推断出以下结果:
如果在第九个 Web 服务器规模点处增加测试负载,也能达到更大的 RPS,同时使服务器资源使用率仍保持为一条较平的曲线。
如果进一步扩展 Web 服务器的数量并维持相同的测试负载,RPS 将继续增加,同时服务器资源上的压力将继续呈现下行趋势。
SQL Server IOPS 总数
下图显示了扩展将如何影响 IOPS 总数。
SQL Server IOPS 细分为读取和写入操作
下图显示了扩展将如何影响 IOPS(细分为每秒读取数和每秒写入数)。
SQL Server处理器使用率
下图显示了扩展将如何影响 SQL Server 处理器使用率。
比较 SharePoint Server 2013 和 SharePoint Server 2010
本节提供有关此工作负载的性能在 SharePoint Server 2013 和 SharePoint Server 2010 之间如何变化的信息。
Workload
为了比较 SharePoint Server 2013 和 SharePoint Server 2010,我们使用了在规范部分中列出的其他测试组合。 这是必要的,因为 SharePoint Server 2010 (某些 SharePoint Server 2013 功能(如分布式缓存服务) 和操作)在 SharePoint Server 2010 中不可用。
测试方法
为了在两个环境中测试性能,我们使用了以下方法:
创建了一个 SharePoint Server 2010 环境。
使用本节中先前所述的工作负载测试了 SharePoint Server 2010 环境。
将内容数据库升级到 SharePoint Server 2013,而不更改客户端使用环境的方式。
然后,通过使用相同的测试组合(仅包括 SharePoint Server 2010 操作),在承载 SharePoint Server 2013 的已升级服务器上再次测试此已升级的环境。
为了进行比较,我们测试了两个环境。 一个环境使用物理服务器硬件,另一个环境使用虚拟机来在 Hyper-V 主机上运行 Web 服务器。 在这两种情况下,数据库服务器都在物理服务器上运行。
在 SharePoint Server 2013 测试的内容数据库升级后,我们没有修改数据集。
SharePoint Server 2010 的测试组合不包括新的特定于 SharePoint Server 2013 的操作,并且它与本文先前测试和介绍的企业 Intranet 协作解决方案相似。
测试的目标是通过使用相同的工作负载和数据集,然后显示吞吐量、延迟和服务器资源消耗的差异,为 SharePoint Server 2013 和 SharePoint Server 2010 服务器场应用相同的负载。 物理和虚拟 Web 服务器测试之间的测试方法和目标有所不同:
物理服务器测试的目标是比较 SharePoint Server 2013 和 SharePoint Server 2010 服务器场在扩展负载时的表现。 在本测试中,Web 服务器将从 2 个扩展到 5 个。
虚拟服务器测试的目标是比较在 4 个 Web 服务器下,SharePoint Server 2013 和 SharePoint Server 2010 服务器场在绿色和红色区域用户负载中的表现。 不会执行任何 Web 服务器扩展测试。
分析
通常,在扩展为 5 个 Web 服务器时,SharePoint Server 2013 的表现要优于 SharePoint Server 2010 ,但在两个 Web 服务器的情况下,SharePoint Server 2010 结果更好。 针对升级后的 SharePoint Server 2013 服务器场进行测试不涉及升级后优化或利用 SharePoint Server 2013 性能改进,例如分布式缓存服务或请求管理器。 因此,SharePoint Server 2013 测试结果与实际环境中的结果明显不同。
本节中图形内数据趋势之间的关系显示 SharePoint Server 2013 资源管理模型将使用处理器资源的优先级置于磁盘 IOPS 之上。
在绿色区域中,在 5 个 Web 服务器下,SharePoint Server 2013 的表现优于 SharePoint Server 2010,前者可提供 10% 以上的 RPS 改进并且延迟也会稍低一些。 然而,在两个 Web 服务器的情况下,与 SharePoint Server 2010 相比,SharePoint Server 2013 可生成更低的 RPS 并且在延迟方面也略有改进。
在红色区域中,在 5 个 Web 服务器下,SharePoint Server 2013 能够实现的吞吐量高出 SharePoint Server 2010 约 12%。 在 2 个服务器的情况下,SharePoint Server 2010 的吞吐量高出近 30%。 在 5 个 Web 服务器的情况下,SharePoint Server 2013 在延迟上较 SharePoint Server 2010 要有所改进。
在虚拟 Web 服务器测试中,在绿色区域中,SharePoint Server 2013 和 SharePoint Server 2010 的结果相似。 在红色区域中,SharePoint Server 2013 在吞吐量和延迟上较 SharePoint Server 2010 都有明显改进。
结果、图形和图表
正如之前所述,本节中图形内的结果是针对物理和虚拟 Web 服务器的测试所产生的。 在所有测试中,使用运行 SQL Server 2008 R2 SP1 的单个物理数据库服务器。
RPS 和延迟
下图显示了在绿色区域中,在 2 个和 5 个物理 Web 服务器下,SharePoint Server 2013 和 SharePoint Server 2010 在吞吐量和延迟方面的差异。 在两个 Web 服务器的情况下,SharePoint Server 2010 拥有更高的 RPS 和更高的延迟。 在 5 个 Web 服务器下,SharePoint Server 2013 展现出更高的 RPS 和更低的延迟。
下图显示了在红色区域中,在 2 个和 5 个物理 Web 服务器下 Web 服务器处理器使用率方面的差异。 在 5 个 Web 服务器而非 2 个 Web 服务器的情况下,SharePoint Server 2013 在 RPS 和延迟方面都比 SharePoint Server 2010 更好。
RPS 和服务器资源使用率
下图显示了在绿色区域负载中,在 2 个和 5 个物理 Web 服务器下 Web 和数据库服务器使用率方面的差异。 请注意,在 5 个 Web 服务器的情况下, SharePoint Server 2013 通过更有效地利用可用服务器资源能够实现更高的吞吐量。
下图显示了在红色区域负载中,在 2 个和 5 个物理 Web 服务器下 Web 和数据库服务器使用率方面的差异。 同样,在 5 个 Web 服务器而非 2 个 Web 服务器的情况下,SharePoint Server 2013 能够实现更高的吞吐量。
RPS 和 IOPS
下图显示了在绿色区域中,在 2 个和 5 个物理 Web 服务器下 IOPS 方面的差异。 请注意,在绿色区域,SharePoint Server 2013SharePoint Server 2016 IOPS 在两到五个 Web 服务器之间增加,而 SharePoint Server 2010 IOPS 减少。 同时,SharePoint Server 2013 中 RPS 的增长率要显著高于 SharePoint Server 2010。 趋势中的差异显示了在较大的服务器场中,SharePoint Server 2013 如何采用不同的方式来管理服务器资源,以实现更高的吞吐量。
下图显示了在红色区域中,在 2 个和 5 个物理 Web 服务器下 IOPS 方面的差异。 在之前的 RPS 和服务器资源使用率部分中的红色区域图表内比较这些结果时,您可以发现 SharePoint Server 2013 资源管理模型将使用处理器资源的优先级置于 SQL Server 磁盘 IOPS 之上。
虚拟 Web 服务器 RPS、延迟和 IOPS
虚拟服务器比较测试是针对 4 个虚拟 Web 服务器和一个物理数据库服务器执行的。
下图显示了在 4 个虚拟 Web 服务器下吞吐量和延迟方面的差异。 在绿色区域负载中,SharePoint Server 2013 和 SharePoint Server 2010 结果相似,但在红色区域中,SharePoint Server 2013 在吞吐量和延迟方面较 SharePoint Server 2010 有显著改进。
下图显示了在 4 个虚拟 Web 服务器下数据库 IOPS 方面的差异。 在绿色和红色区域负载中,SharePoint Server 2013 在数据库 IOPS 性能方面表现出显著的改进。