在 SharePoint 2016 中为更多内容和用户重新设计企业搜索拓扑

 

**上一次修改主题:**2017-09-08

**摘要:**了解如何针对内容和/或用户数量的增长来重新设计企业搜索体系结构的拓扑。

大部分搜索环境会随着时间而增长,包括在内容数量和用户数量方面。有时搜索环境会增长到超出搜索体系结构的容量和性能。解决方案是扩展搜索体系结构的拓扑:

  1. 重新设计拓扑(本文)

  2. 实现重新设计的拓扑(在 SharePoint Server 中管理搜索拓扑

是否熟悉 SharePoint Server 中搜索系统的组件,及如何交互?在开始之前,请阅读 SharePoint Server 中的搜索体系结构概述SharePoint Server 2016 搜索体系结构(或 SharePoint Server 2013 搜索体系结构),以便熟悉搜索体系结构、搜索组件、搜索数据库和搜索拓扑。

在本文中,我们将向您分步介绍如何重新设计搜索拓扑。

  • 第 1 步:我有多少内容?

  • 第 2 步:我应扩展到什么大小的搜索体系结构?

  • 第 3 步:我应了解哪些硬件要求?

执行这些步骤后,您将了解:

  • 对于每种搜索组件和搜索数据库,您的拓扑需要多少。

  • 每种搜索组件要部署在哪些应用程序服务器和数据库上。

  • 每个应用程序服务器和数据库服务器需要多少硬件资源。

第 1 步:我有多少内容?

您的搜索索引中的内容量会影响托管服务器场所需的资源。检查现有搜索环境中有多少可搜索的项目。您可在SharePoint 管理中心网站中的“搜索管理”页面上找到此数字。要打开搜索管理页面,请单击管理中心中的“管理服务应用程序”,然后单击 Search Service 应用程序的名称。

估计您预计在接下来 12 个月可搜索项目将增长的数量,并针对此数量设计搜索拓扑。例如,如果您已有 8,000,000 个索引项目,预计在接下来 12 个月内容量将增长 50%,则您应设计为 12,000,000 个可搜索项目。

第 2 步:我应扩展到什么大小的搜索体系结构?

要估计将搜索体系结构设计得多大或多小并不总是那么简单。搜索体系结构的大小取决于内容量、爬网速率、查询吞吐量以及您需要的高可用性级别。Microsoft 已经测试了一些示例搜索体系结构,我们建议使用这些体系结构作为您自己的服务器场的基础。将当前搜索体系结构与示例搜索体系结构进行比较,并确定哪个示例更好地体现了您当前的搜索体系结构。然后考虑要扩展到哪个示例搜索体系结构。您选择的示例搜索体系结构取决于有多少内容必须为可搜索状态:

内容量 (SharePoint 2016) 示例搜索体系结构 内容量 (SharePoint 2013)

0-2000 万个项

小型搜索服务器场

0 - 1000 万个项

0-8000 万个项

中型搜索服务器场

0 - 4000 万个项

0-2 亿个项

大型搜索服务器场

0 - 1 亿个项

0-5 亿个项

特大型搜索服务器场

不支持

尽管这些示例搜索体系结构使用虚拟机,您仍可以根据您搜索体系结构的整体 SharePoint Server 解决方案策略同时使用物理服务器和虚拟机。

小型搜索服务器场

我们已预计此搜索体系结构每秒可以爬网 50 个文档,且每秒服务大约 10 个查询。如果 SharePoint Server 2016 场中最多拥有 2000 万个项目,小型搜索服务器场可能是最适合的服务器场。对于每秒 50 个文档的爬网率,首次完全爬网中,需要搜索 110 个小时来爬网 2000 万个项目。

Diagram of the servers and search components in the small enterprise search architecture sample

中型搜索服务器场

我们已预计此搜索体系结构每秒可以爬网 100 个文档,且每秒服务大约 10 个查询。如果 SharePoint Server 2016 场中拥有 2000 万至 8000 万个项目,中型搜索服务器场可能是最适合的服务器场。对于每秒 200 个文档的爬网率,首次完全爬网中,需要搜索 280 个小时来爬网 8000 万个项目。

Diagram of the servers and search components in the medium enterprise search architecture sample

大型搜索服务器场

我们已预计此搜索体系结构每秒可以爬网 200 个文档,且每秒服务大约 10 个查询。如果 SharePoint Server 2016 场中拥有 8000 万至 2 亿个项目,大型搜索服务器场可能是最适合的服务器场。对于每秒 200 个文档的爬网率,首次完全爬网中,需要搜索 280 个小时来爬网 2 亿 万个项目。

Diagram of the servers and search components in the large enterprise search architecture sample

特大型搜索服务器场

Microsoft 测试了此搜索体系结构并测试了其每秒可以爬网 300-500 个文档,且每秒服务大约 10 个查询。仅 SharePoint Server 2016 支持此大小的搜索体系结构。如果拥有多达 5 亿个项目,则适合从类似于特大型搜索服务器场的服务器场开始。对于每秒 500 个文档的爬网率,首次完全爬网中,需要搜索大约 300 个小时来爬网 5 亿个项目。

创建这种大小的搜索服务器场需要仔细规划和调整服务器场才能获得所需的性能。你会发现寻求专家指导会有所帮助。规划如何备份和还原这种大小的搜索服务器场及在数据中心发生重大故障时如何恢复此服务器场也同等重要。 建议对备份、还原和恢复进行练习。

Diagram of the servers and search components in the extra large enterprise search sample.

第 3 步:我应了解哪些硬件要求?

现在,您已确定了您的内容量并选择了要移动到的新拓扑,下一步是规划您所需的硬件,如本节中所述:

  • 选择以物理方式还是虚拟方式运行服务器

  • 选择主机服务器的硬件资源

    • 一般存储

    • 小型搜索服务器场的最低硬件资源

    • 中型搜索服务器场的最低硬件资源

    • 大型搜索服务器场的最低硬件资源

  • 规划存储性能

    • 选择存储类型

    • 搜索组件 IOPS 要求

    • 搜索数据库 IOPS 要求

  • 选择您的搜索体系结构支持高可用性的方式

选择以物理方式还是虚拟方式运行服务器

当您最初规划搜索体系结构时,您决定了是使用物理服务器还是虚拟机,还是结合使用两者。考虑当时的决定是否仍然有效。例如,如果您从中型示例搜索体系结构迁移到大型示例搜索体系结构,您可能会发现使用虚拟机管理增长的服务器数量更为容易。另请注意,尽管虚拟环境更容易管理,但其性能级别有时可能会稍低于物理环境。物理服务器在同一服务器上可托管的搜索组件比虚拟服务器要多。您可在 SharePoint 2013 中的服务器场虚拟化和体系结构概述中找到有用的指导。

小型、中型、大型或超大型搜索体系结构示例可在虚拟机上运行,也可在物理服务器上运行。在示例服务器场体系结构中,仅将搜索组件从虚拟机移动到主机服务器,并退出虚拟机。每个物理服务器最多可托管四个索引组件,但其他搜索组件每种仅托管一个。例如,如果将中型示例搜索体系结构更改为使用物理服务器,你将发现你在主机 E 上有两个内容处理组件。解决方案是退出其中一个内容处理组件。这样是可行的,因为爬网、内容的处理和分析处理依赖于可用的资源数量,而不是内容处理组件的数量。

Choose to run the servers physically or virtually

选择主机服务器的硬件资源

每个搜索组件和搜索数据库需要主机服务器的最少量的硬件资源即可运行良好。但是,您拥有的硬件资源越多,您的搜索体系结构的性能越好。因此,硬件资源数量最好多于硬件资源的最低数量。每个搜索组件需要的资源取决于工作负荷,这主要由爬网速率、查询速率和索引项目数决定。

例如,在 Windows Server 2008 R2 Service Pack 1 (SP1) 中托管虚拟机时,每个虚拟机使用的 CPU 内核不能超过四个。在 Windows Server 2012 或更高版本中,您在每个虚拟机上使用八个或更多 CPU 内核。然后您可以为每个虚拟机向外扩展更多 CPU 内核,而无需向上扩展更多虚拟机。设置使用相同硬件资源托管相同搜索组件的服务器或虚拟机。现在我们以索引组件为例。当您在虚拟机上托管索引分区时,性能最差的虚拟机决定了整个搜索体系结构的性能。

一般存储资源

确保每台主机服务器具有足够的磁盘空间进行 Windows Server 操作系统和 SharePoint Server 程序文件的基本安装。主机服务器还需要有可用的硬盘空间进行日志记录、调试、创建内存转储等诊断、日常操作和页面归档。一般情况下,80 GB 的磁盘空间足以供 Windows Server 操作系统和 SharePoint Server 程序文件使用。

增加每个数据库服务器的 SQL 日志空间的存储。如果您没有将数据库服务器设置为经常备份数据库,SQL 日志空间将使用大量存储,有关如何规划 SQL 数据库的详细信息,请参阅存储和 SQL Server 容量规划与配置 (SharePoint Server)

分析报告数据库所需的最低存储量可能各不相同。这是因为存储量取决于用户与 SharePoint Server 的交互方式。当用户交互频率较高时,通常要存储更多事件。检查当前搜索体系结构用于分析数据库的存储量,并至少为您重新设计的拓扑分配此存储量。

小型搜索服务器场的最低硬件资源

下表显示了每个应用程序服务器或数据库服务器需要的最低硬件资源量。

服务器 位于主机 存储 RAM Processor1 网络带宽

带有查询处理和索引组件的应用程序服务器。

A、B

500GB2、3

32GB2、3

1.8GHz 8x CPU 内核2、3

1 GB

带有爬网、搜索管理、分析和内容处理组件的应用程序服务器。

A、B

200 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有所有搜索数据库的数据库服务器。

C、D

100 GB

16 GB

1.8 GHz 4x CPU 内核

1 GB

1此处特指 CPU 内核数,而不是 CPU 线程数。

2使用 SharePoint Server 2013 时,至少需要 500GB RAM、16GB RAM 和四个 CPU 内核这么多的资源量。

3使用 SharePoint Server 2016 时,也可以使用 500GB 存储、16GB RAM 和四个 CPU 内核,但后来每个索引组件只能保留 1 千万个项,且搜索场仅支持与 SharePoint Server 2013 搜索场一样的内容容量。

中型搜索服务器场的最低硬件资源

下表显示了每个应用程序服务器或数据库服务器需要的最低硬件资源量。

服务器 位于主机 存储 RAM Processor1 网络带宽

带有查询处理和索引组件的应用程序服务器。

A、B、C、D

500GB2、3

32GB2、3

1.8GHz 8x CPU 内核2、3

1 GB

带有索引组件的应用程序服务器。

A、B、C、D

500GB2、3

32GB2、3

1.8GHz 8x CPU 内核2、3

1 GB

带有分析和内容处理组件的应用程序服务器。

E、 F

300 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有爬网、搜索管理和内容处理组件的应用程序服务器。

E、 F

100 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有所有搜索数据库的数据库服务器。

G、H

400 GB

16 GB

1.8 GHz 4x CPU 内核

1 GB

1此处特指 CPU 内核数,而不是 CPU 线程数。

2使用 SharePoint Server 2013 时,至少需要 500GB RAM、16GB RAM 和四个 CPU 内核这么多的资源量。

3使用 SharePoint Server 2016 时,也可以使用 500GB 存储、16GB RAM 和四个 CPU 内核,但后来每个索引组件只能保留 1 千万个项,且搜索场仅支持与 SharePoint Server 2013 搜索场一样的内容容量。

大型搜索服务器场的最低硬件资源

下表显示了每个应用程序服务器或数据库服务器需要的最低硬件资源量。

服务器 位于主机 存储 RAM Processor1 网络带宽

带有查询处理和索引组件的应用程序服务器。

A、B、C、D、E、G、H

500GB2、3

32GB2、3

1.8GHz 8x CPU 内核2、3

1 GB

带有索引组件的应用程序服务器。

A, B, C, D, E, F, G, H, I, J

500GB2、3

32GB2、3

1.8GHz 8x CPU 内核2、3

1 GB

带有分析和内容处理组件的应用程序服务器。

K, L, M, N

300 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有爬网和搜索管理组件的应用程序服务器

K, L

100 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有搜索数据库的数据库服务器

O, P, Q, R

500 GB

16 GB

1.8 GHz 4x CPU 内核

1 GB

2使用 SharePoint Server 2013 时,至少需要 500GB RAM、16GB RAM 和四个 CPU 内核这么多的资源量。

3使用 SharePoint Server 2016 时,也可以使用 500GB 存储、16GB RAM 和四个 CPU 内核,但后来每个索引组件只能保留 1 千万个项,且搜索场仅支持与 SharePoint Server 2013 搜索场一样的内容容量。

特大型搜索服务器场的最低硬件资源

下表显示了每个应用程序服务器或数据库服务器需要的最低硬件资源量。只能使用 SharePoint Server 2016 生成此示例服务器场。

服务器 位于主机 存储 RAM Processor1 网络带宽

带有索引组件的应用程序服务器

A-X

500 GB

32 GB

1.8 GHz 8x CPU 内核

1 GB

带有查询处理和索引组件的应用程序服务器。

Y、Z

500 GB

32 GB

1.8 GHz 8x CPU 内核

1 GB

带有爬网、搜索管理或内容处理组件的应用程序服务器

AA-AF

100 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有分析处理组件的应用程序服务器

AG、AH

800 GB

8 GB

1.8 GHz 4x CPU 内核

1 GB

带有搜索数据库的数据库服务器

AI-AL

500 GB

16 GB

1.8 GHz 4x CPU 内核

1 GB

1此处特指 CPU 内核数,而不是 CPU 线程数。

规划存储性能

存储速度影响搜索性能。请确保您的存储速度足够快,从而能够处理来自搜索组件和数据库的流量。磁盘速度以每秒的 I/O 操作数 (IOPS) 进行测量。

对于在存储空间内分发来自搜索组件和操作系统的数据,您所决定的方式会影响搜索性能。比较好的做法是:

  • 在具有普通性能的三个单独存储卷或分区之间拆分 Windows Server 操作系统文件、SharePoint Server 程序文件和诊断日志。

  • 在单独存储卷或分区上存储搜索组件数据。对于索引组件,该存储还必须具有高性能。

    备注

    当您在主机上安装 SharePoint Server 时,您可以为搜索组件数据设置一个自定义位置。需要存储数据的主机上的任何搜索组件将数据存储在此位置。稍后要更改此位置,必须重新安装 SharePoint Server。

选择存储类型

有关存储体系结构和磁盘类型的概述,请参阅存储和 SQL Server 容量规划和配置 (SharePoint Server 2013)。托管索引、分析处理的服务器和搜索管理组件或搜索数据库需要能够保持低延迟的存储,同时每秒还能够提供充足的 I/O 操作数 (IOPS)。下表显示了每一个这些搜索组件和数据库要求的 IOPS 数。

如果您部署诸如 SAN/NAS 的共享存储,一个搜索组件的高峰磁盘负载通常与另一个搜索组件的高峰磁盘负载一致。若要获取共享存储的 IOPS 搜索要求量,您需要将每一个这些组件的 IOPS 要求量加起来。

所示组件 IOPS 要求

组件名称 组件详细信息 IOPS 要求 独立存储卷/分区的使用

索引组件

合并索引时和处理并响应查询时使用存储。

  • 64 KB 随机读取时要求 300 IOPS。

  • 256 KB 随机写入时要求 100 IOPS。

  • 顺序读取时要求每秒 200 MB。

  • 顺序写入时要求每秒 200 MB。

分析组件

以批量处理的形式本地分析数据。

爬网组件

在将下载的内容发送到内容处理组件之间本地存储该内容。存储受内容带宽的限制。

搜索数据库 IOPS 要求

数据库名称 IOPS 要求 I/O 子系统上的典型负载。

爬网数据库

中等到高 IOPS

每秒 1 个文档 (DPS) 爬网率要求 10 IOPS。

链接数据库

中等 IOPS

搜索索引中每 100 万项目要求 10 IOPS。

搜索管理数据库

低 IOPS

不适用。

分析报告数据库

中等 IOPS

不适用。

选择您的搜索体系结构如何支持高可用性

如果您对高可用性策略不熟悉,下面这篇文章将能帮助您实现入门:为 SharePoint Server 创建具有高可用性的体系结构和策略。当您在单独的故障域中托管冗余搜索组件和数据库时,服务器场某个部分停机不会使整个服务终止。但是,搜索性能会下降,因为搜索组件无法再共享负载。要降低失去单个服务器的可能性,最好改进本地冗余性。对于搜索体系结构中的每个主机服务器:

  • 在每个服务器上使用 RAID 存储。

  • 在每个服务器上安装多个冗余网络连接。

  • 安装多个冗余电源,每个服务器均具有独立布线或不间断电源 (UPS)。

所有示例搜索体系结构在独立服务器上托管冗余搜索组件。在示例搜索体系结构中,每个主机对中最右侧的主机为冗余主机。下面显示了大型搜索体系结构,其中框出了冗余主机:

Diagram of large enterprise search farm indicating which servers host redundant search components.