评估 InfoPath Forms Services 环境的性能和容量要求 (Office SharePoint Server)

本文内容:

  • 主要特征

  • 测试环境

  • 测试结果

  • 建议

此性能和容量规划方案采用运行 InfoPath Forms Services 的单个 Microsoft Office SharePoint Server 2007 服务器场。该服务器场用于发布 InfoPath 表单模板。请注意,本文中所示的测试结果特定于 Office SharePoint Server 2007 中的 InfoPath Forms Services。测试结果可能无法代表 Microsoft Office Forms Server 2007 的性能特征。

主要特征

主要特征描述环境因素、使用率特征和其他可能会在基于此方案的部署中遇到的其他注意事项。

此方案的主要特征包括以下各项:

  • 身份验证、访问控制和授权   此方案采用集成 Windows 身份验证。通常,通过使用安全组或基于单个用户的用户帐户向这些用户授予访问权限来保护网站和内容。身份验证和授权会影响吞吐量,且要求在服务器场服务器和域控制器间建立网络连接。吞吐量是指服务器场每秒可以执行的操作的数量。按照每秒的请求数 (RPS) 计算吞吐量。

  • 关联目录服务   此方案采用关联的 Active Directory 目录服务提供用户和组织信息。Office SharePoint Server 2007 功能会使用这些信息提供状态信息、群体设定和访问群体等高级功能。

  • 复杂(读/写)用户操作   在表单环境中,用户可查看和提供内容。此方案的吞吐量目标旨在确保为复杂的用户操作(例如上载表单模板或填写表单)提供合理响应时间。

  • 数据和网站随时间增长   除了评估初始数据量之外,Office SharePoint Server 2007 协作环境还必须允许数据和网站随时间增长。针对初始数据量设计的服务器场可能很快就会变得不适用。

  • 用户响应时间   规划软件边界 (Office SharePoint Server) 文章结尾的“用户响应时间”表中列出了针对常见的、特殊的、长时间运行的和很少发生的操作的目标用户响应时间。有些组织可以允许较长的用户响应时间或可能要求较短的用户响应时间。预期的用户响应时间是决定总吞吐量目标的主要因素。如果您有更多用户,则需要更高的吞吐量目标以达到相同的用户响应时间。

  • 用户并发   假定并发率为 10%,并且有 1% 的并发用户在给定时间发出请求。例如,在 10,000 个用户中,有 1,000 个用户正同时使用此解决方案,并且有 100 个用户正在发出请求。

测试环境

此方案的测试设计用来帮助评估不同服务器场配置对下列变量所做更改的响应:

  • 表单的复杂性

  • 用户操作类型

  • 不同的数据连接

  • 作为表单提交目标的文档库的数量

请务必注意,本文中提供的特定容量和性能数据将与现实环境中的数据有所不同。提供这样的数据旨在为设计正常缩放的环境提供一个起始点。在完成初始系统设计之后,应测试配置以确定系统是否支持环境中的各个因素。

有关如何测试部署的信息,请参阅用于性能和容量规划的工具 (Office SharePoint Server)InfoPath Forms Services 2007 Web 测试工具包(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=129547&clcid=0x804)(该链接可能指向英文页面)。

假设

  • 64 位体系结构   测试环境中只使用 64 位 Web 服务器。尽管可以在 32 位服务器上部署 Office SharePoint Server 2007,但是我们建议您在服务器场部署中使用 64 位服务器。有关详细信息,请参阅关于性能和容量规划 (Office SharePoint Server) 一文中的“64 位对比 32 位”一节。

测试定义

本节定义测试方案,并概述了用于每个方案的测试过程。本文后面的各个测试结果节中提供了诸如测试结果和具体参数等详细信息。

测试定义

解决方案名称 测试说明

基准解决方案

  1. 打开包含提交 Web 服务数据连接的基准表单。

  2. 将测试数据填入该表单。

  3. 使用自动关闭功能提交该表单。

打开表单

  • 打开不包含数据连接的基准表单。

保存到单个 SharePoint 文档库

  1. 打开不包含数据连接的基准表单。

  2. 将测试数据填入该表单。

  3. 保存到 SharePoint 文档库。

通过 SharePoint 数据连接提交表单

  1. 打开包含 SharePoint 提交数据连接的基准表单。

  2. 将测试数据填入该表单。

  3. 使用自动关闭功能提交该表单。

具有业务逻辑和复杂控件的基准解决方案

  1. 打开包含提交 Web 服务数据连接的 complex passport simple 表单。

  2. 将测试数据填入该表单。

  3. 使用自动关闭功能提交该表单。

通过 SharePoint 数据连接保存表单(五个文档库)

  1. 打开不包含数据连接的五个基准表单之一。

  2. 将测试数据填入该表单。

  3. 单击“保存”。

通过 SharePoint 数据连接提交表单(五个文档库)

  1. 打开包含 SharePoint 提交数据连接的五个基准表单之一。

  2. 将测试数据填入该表单。

  3. 使用自动关闭功能提交该表单。

实验室拓扑

为了提供高级别的测试结果详细信息,测试采用了若干种服务器场配置。服务器场配置包括 1 到 8 台 Web 服务器以及运行 Microsoft SQL Server 2005 数据库软件的单一数据库服务器计算机。使用 4 台客户端计算机进行测试。所有 Web 服务器计算机和数据库服务器均为 64 位,客户端计算机为 32 位。

下表列出了用于测试的特定硬件。

计算机角色 硬件

Web 服务器

2 个双核 Intel Xeon E5345 2.33 GHz 处理器

8 GB RAM

数据库服务器

4 个双核 Intel Xeon 3.2 GHz 处理器

16 GB RAM

5 个 146 GB 15,000 RPM 硬盘,RAID 5

客户端计算机

2 个 Intel 3.06 GHz 处理器

2 GB RAM

测试环境中使用了千兆位(10 亿位/秒)网络。我们建议您在 Office SharePoint Server 服务器场的服务器之间使用一个千兆位网络以确保网络带宽足够。

软件

下表描述了此测试中所用的服务器上安装的软件。

计算机角色 软件

Web 服务器

带 Service Pack 1 (SP1) 的 Windows Server 2008 Enterprise Edition 操作系统,应用最新更新。

Microsoft Office SharePoint Server 2007 Service Pack 1 (SP1) x64 版。

请注意,测试是在 Microsoft Office Server 的基础结构更新发布之前进行的。

Microsoft .NET Framework 版本 3.5。

数据库服务器

带 SP 1 的 Windows Server 2008 Enterprise Edition,应用最新更新。

SQL Server 2005 数据库软件。

.NET Framework 版本 3.5。

客户端计算机

带 SP 1 的 Windows Server 2003 Enterprise Edition,应用最新更新。

测试结果

下表显示 InfoPath Forms Services 在 Office SharePoint Server 2007 SP1 上的测试结果。对于每组测试,只更改了某些特定变量,以显示对服务器场性能逐步产生的影响。

请注意,本文中报告的所有测试在执行时都没有任何“思考时间”(即连续的操作之间的自然延迟)。在现实环境中,每次操作后都会有一段延迟,以便用户执行下一步任务。与之对比,在此测试中,每次操作后均立即执行下一次操作,因此会对服务器场产生持续负载。此负载会引入数据库争用及其他可能会对性能产生不利影响的因素。

有关 InfoPath Forms Services 中的瓶颈的信息,请参阅本文后面的常见瓶颈及其原因一节。

表单中的业务逻辑和复杂控件对吞吐量的影响

下表中所示的两组测试显示向表单添加业务逻辑和复杂控件对服务器场吞吐量的影响。本节结尾处的表中列出了测试表单模板之间的区别。

Web 服务器 基准性能解决方案 (RPS) 具有业务逻辑和复杂控件的基准性能解决方案 (RPS)

1

325

292

2

633

547

4

1076

954

6

1052

1095

8

1102

1065

下图显示,添加业务逻辑和复杂控件不一定会对服务器场吞吐量产生线性影响。添加了四台 Web 服务器时,吞吐量对于这两种测试解决方案均有大幅提高。这两种测试解决方案的趋势线是类似的。概括来说,如果在表单中使用业务逻辑和复杂控件,则对服务器场中 Web 服务器的需求会增加,并可能表示您应向服务器场中添加 Web 服务器。

业务逻辑影响的图形

下表显示针对复杂表单解决方案的表单模板设计中的各种可变因素。

表单模板可变因素

参数 基准解决方案 具有业务逻辑和复杂控件的基准解决方案

瓶颈

数据库磁盘 I/O

数据库磁盘 I/O

数据连接

1(提交到 Web 服务)

1(提交到 Web 服务)

主数据源

无层次(所有元素都是 myFields 的直接子级)

分层(元素分组为节)

提交时关闭规则

0

6(2 个可选)

重复表

0

1

数据有效性

4

10

规则

0

3

回发

2

1

首次请求优化

不同操作对吞吐量的影响

这些测试显示对特定解决方案执行的不同操作对服务器场吞吐量产生的影响。

下表显示了在针对相同表单执行不同操作(提交到 Web 服务、打开表单、保存到单个文档库、提交到 SharePoint 数据连接)时吞吐量的差异。

所有回发均为 10 KB。

不同操作对吞吐量的影响

Web 服务器 基准解决方案(提交到 Web 服务)(RPS) 打开表单 (RPS) 保存到单个文档库 (RPS) 提交到 SharePoint 数据连接 (RPS)

1

325

302

331

241

2

633

591

416

313

4

1076

847

429

301

6

1052

877

426

292

8

1102

825

431

305

如下图中所示,保存到单个文档库和提交到 SharePoint 数据连接操作对吞吐量有巨大的影响。向服务器场中添加 Web 服务器并没有提高吞吐量。但是,添加 Web 服务器提高了提交到 Web 服务和打开表单操作的性能。

在此测试方案中,最佳性能是用四台 Web 服务器实现的,但是可以使用更强大的数据库服务器来获得更好的结果。此外,最好将内容数据库放在与会话状态数据库不同的数据库服务器上。在测试实验中,此做法至少将服务器场性能提高了 10%。

InfoPath 表单服务器操作影响的图表

下表显示此测试方案中使用的表单模板设计参数。

表单模板可变因素

参数 基准解决方案 打开表单 保存到单个文档库 提交到 SharePoint 数据连接

瓶颈

数据库磁盘 I/O

不适用

数据库锁

数据库锁

数据连接

1(提交到 Web 服务)

1(提交到 SharePoint 文档库)

1(提交到 Web 服务)

1(提交到 SharePoint 数据连接)

主数据源

无层次(所有元素都是 myFields 的直接子级)

无层次

无层次

无层次

提交时关闭规则

0

0

0

0

重复表

0

0

0

0

数据有效性

4

4

4

4

规则

0

0

0

0

回发

2

1

2

1

首次请求优化

单个文档库与多个文档库对吞吐量的影响

下表中的测试显示将表单提交到单个文档库时对吞吐量所产生影响与将表单提交分发到多个文档库时对吞吐量所产生影响的对比。

单个文档库与多个文档库对吞吐量的影响

Web 服务器 基准 (RPS) 通过 SharePoint 数据连接提交到单个文档库 (RPS) 通过 SharePoint 数据连接提交到五个文档库 (RPS) 保存到单个文档库 (RPS) 保存到五个文档库 (RPS)

1

325

241

229

331

319

2

633

313

436

416

523

4

1076

301

485

429

637

6

1052

292

455

426

591

8

1102

305

468

431

621

如下图中所示,在多个文档库之间分发表单可能会对性能产生好的影响。在小型部署中,使用多个文档库不是要考虑的重要因素。但是,当保存到单个文档库的表单数超过规划软件边界 (Office SharePoint Server) 中所述的限制时,使用可减少争用的分布式文档库将可大幅提高性能。对于大规模企业部署,我们建议您设计通过数据连接提交数据的表单,而不是保存到文档库的表单。

数据连接的 InfoPath 表单服务器影响

下表显示本测试中使用的表单模板设计参数。

表单模板可变因素

参数 通过 SharePoint 数据连接提交表单 通过 SharePoint 数据连接提交表单(五个文档库) 保存到单个文档库 (RPS) 保存到五个文档库 (RPS)

瓶颈

数据库锁

数据库锁

数据库锁

数据库锁

数据连接

1(提交到 SharePoint 文档库)

1(提交到 Web 服务)

1(提交到 SharePoint 文档库)

1(提交到 Web 服务)

主数据源

无层次(所有元素都是 myFields 的直接子级)

无层次

无层次

无层次

提交时关闭规则

0

0

0

0

重复表

0

0

0

0

数据有效性

4

4

4

4

规则

0

0

0

0

回发

1

1

1

1

首次请求优化

建议

本节提供一般的性能和容量建议。根据这些建议可以确定在规划可用性 (Office SharePoint Server) 一文中创建的起始拓扑结构的容量和性能特征,并可以决定是否必须扩大或扩展起始拓扑结构。

硬件建议

有关最低系统要求和建议的系统要求的具体信息,请参阅确定硬件和软件要求 (Office SharePoint Server)

备注

Web 服务器和数据库服务器的内存要求取决于服务器场的大小、并发用户的数量以及服务器场中功能和页面的复杂性。下表中的内存建议可能适合于使用内存较少的服务器场,但应仔细监视内存使用率以确定是否必须添加更多内存。

扩大和扩展的拓扑结构

可以通过将您的拓扑结构与规划可用性 (Office SharePoint Server) 中提供的起始点拓扑结构进行比较,来估计起始点拓扑结构的性能。这样做可以帮助您快速确定是否必须扩大或扩展起始点拓扑结构以达到性能和容量目标。

如果确定您的部署不需要高可用性,请阅读规划冗余 (Office SharePoint Server) 来了解有关如何确定冗余要求的信息。

若要提高某一个起始点拓扑结构的容量和性能,您可以通过两种方式之一来实现。您可以通过实现具有更大容量的服务器计算机来扩大,或通过将额外的服务器添加到拓扑结构来扩展。本节描述几个扩展拓扑结构的一般性能特征。示例拓扑结构介绍了针对 InfoPath Forms Services 方案扩展拓扑结构的常用方法:

  • 若要容纳更多的用户负载,请添加 Web 服务器计算机。

  • 若要容纳更多的数据负载,请通过增加单台(群集或镜像)服务器的容量、通过升级为 64 位服务器或通过添加群集或镜像服务器来增加数据库服务器角色的容量。

  • 保持 Web 服务器计算机与(群集或镜像)数据库服务器计算机的比例不大于 8:1。尽管在我们实验室进行的测试为每个测试方案计算出了特定的 Web 服务器和数据库服务器最佳比例,但是部署更加稳固的硬件,特别是数据库服务器,可在您的环境中产生更好的结果。

评估吞吐量目标

许多因素都可能影响吞吐量。这些因素包括用户数量、用户操作的类型、复杂性及频率、单个操作中的回发数量以及数据连接的性能。所有这些因素都可能会对服务器场吞吐量产生重大影响。您应在规划部署时仔细考虑其中每个因素。

Office SharePoint Server 2007 可通过多种方式进行部署和配置。所以没有一种简单的方法可用来估计给定数量的服务器可以支持多少个用户。因此,请务必在生产环境中部署 Office SharePoint Server 2007 之前先在自己的环境中执行测试。

优化

以下各节将讨论通过优化表单模板和数据库服务器提高服务器场性能的方法。

表单模板设计优化

  • 优化无 onLoad 事件或业务逻辑的表单模板的第一个请求(即,打开表单的请求)。直到发生 POST 之后才在数据库中创建会话状态条目,从而优化第一个请求。请注意,对于这种表单模板,如果提交后的唯一一个 POST 是关闭表单,则不会创建 SQL 会话状态。要应用此优化,表单设计者必须将提交的高级设置设为在提交之后关闭表单。有关表单模板设计优化的详细信息,请参阅由六个部分组成的一系列博客文章:在 InfoPath Forms Services 中设计启用浏览器功能的表单以提高性能(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=129548&clcid=0x804)(该链接可能指向英文页面)。

  • 如果某个方案涉及将表单保存到文档库的操作,最好是将表单提交到库,而不是将其保存。提交操作只触发一个 POST 请求或往返行程,而保存操作会触发两个 POST 请求。通过使用规则或表单中的控件,可以动态地生成表单的名称。

  • 为了减少用户延迟,我们建议表单设计者减少每个视图的控件数量。为了实现第一页视图优化,请将资源开销高的控件(例如格式文本字段)放在后续视图(而不是默认视图)中。

数据库服务器优化

  • 在数据库服务器上安装 64 位版本的 Windows Server 2003 操作系统比安装 64 位版本的 SQL Server 数据库软件更加重要。这是因为,64 位 Windows Server 体系结构提供了更好的地址分配,并且有更多的内存可用于 SQL 进程。另一方面,如果数据库服务器上的物理内存是性能瓶颈,还应考虑使用 64 位数据库服务器。建议的 SQL Server 2005 配置为使用 64 位版本 Windows Server 2003 的 8 处理器、64 位计算机。

常见瓶颈及其原因

在性能测试过程中,发现了若干不同的常见瓶颈。在达到服务器场的特定组成部分的容量时,就会出现瓶颈。这将导致停滞或服务器场吞吐量降低。

下表列出了一些常见瓶颈,并描述了其原因和可能的解决方案。

InfoPath Forms Services 中的瓶颈

瓶颈 原因 解决方案

数据库争用(锁)

数据库锁可防止多个用户对一组数据进行有冲突的修改。当一组数据由某个用户或进程锁定后,在第一个用户或进程完成数据修改或释放锁定之前,其他任何用户或进程均无法修改这组数据。

为了帮助减少出现数据库锁的情况,您可以采取以下措施:

  • 将提交的表单分发到多个文档库。

  • 扩展数据库服务器。

  • 针对读/写优化数据库服务器硬盘。

有一些可以绕过 SQL Server 2005 中的数据库锁定系统的方法,例如 NOLOCK 参数。但是,我们不建议或支持使用此方法,原因是此方法可能会导致数据损坏。

数据库服务器磁盘 I/O

当对硬盘的 I/O 请求数超过磁盘的 I/O 容量时,将会对请求进行排队。因此,完成每个请求的时间会增加。

将数据文件分布在多个物理驱动器之间可以实现并行 I/O。博客文章 SharePoint 磁盘分配和磁盘 I/O(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=129557&clcid=0x804)(该链接可能指向英文页面)包含了许多有关解决磁盘 I/O 问题的有用信息。

Web 服务器 CPU 使用率

当 Web 服务器上的用户请求数超过负荷时,平均 CPU 使用率将达到 100%。这将使 Web 服务器无法快速响应请求,并可能导致客户端计算机上出现超时和错误消息。

可通过两种方式之一来解决此问题。您可以向服务器场中添加额外的 Web 服务器以分摊用户负载,或者可以通过添加速度更快的处理器来扩展 Web 服务器。有关详细信息,请参阅规划可用性 (Office SharePoint Server)规划冗余 (Office SharePoint Server)

评估磁盘空间要求

以下部分中提供的表格可帮助您估算此方案的磁盘空间要求。硬件的磁盘空间要求将随服务器角色和方案的不同而大为不同。磁盘空间要求取决于要存储在内容数据库中的数据、缓存要求以及存储在服务器场中的表单和表单模板的数量和大小。在下面所述内容中可能的情况下,公式中的数字基于可预测的磁盘空间要求,例如,安装文件的大小。

首先,根据服务器角色来评估磁盘空间要求。然后,根据您已规划的拓扑结构(针对服务器角色共享同一物理服务器计算机的情况),将这些角色的磁盘空间要求加总。最后,确认您的硬件可以支持您的磁盘空间要求。

另外,可以借鉴数据库服务器上的 SQL Server 存储的最佳做法。有关详细信息,请参阅物理数据库存储设计(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=78853&clcid=0x804)(该链接可能指向英文页面)。如果实现了多台数据库服务器,请为每台 Web 服务器单独估算 SQL 磁盘空间因素。

备注

操作系统文件和程序文件应与数据文件分开,单独存储在独立的驱动器或独立磁盘冗余阵列 (RAID) 上。

数据库服务器的磁盘空间要求

可以根据下表计算服务器场中的数据库服务器的磁盘空间要求。如果已实现多台数据库服务器,请分别为每台数据库服务器计算此总和。

类别 说明

操作系统文件

Windows Server 2008 安装程序和系统文件所需的磁盘空间。有关详细信息,请参阅为安装分区选择文件系统 (https://go.microsoft.com/fwlink/?linkid=78866&clcid=0x804)。

4 GB

页面文件

默认情况下,页面文件的大小将与物理内存量相同。

SQL Server 安装文件

SQL Server 安装程序和程序文件所需的磁盘空间。有关详细信息,请参阅 SQL Server 2005 Standard Edition 系统要求 (https://go.microsoft.com/fwlink/?linkid=78870&clcid=0x804)。

425 MB

数据库日志文件

将 SharedServices_DB .ldf 文件放在与保存 SharedServices_DB .mdf 文件和 WSS Content_DB 的磁盘不同的另一硬盘中。管理员可能希望有一个特定的磁盘专用于日志文件,因为日志文件会变得非常大。或者,可配置日志文件,以在达到约 50% 的可用磁盘空间后重新利用空间。

日志文件的磁盘空间将根据日志设置和数据库数量而不同。有关详细信息,请参阅物理数据库存储设计(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=78853&clcid=0x804)(该链接可能指向英文页面)。

配置数据库

配置数据库的大小一般不会超过此值。这是评估的最大值,不是硬性限制。

1.5 GB

内容数据库

将 SharedServices_DB.mdf 文件放在磁盘阵列最长、容量最大的虚拟磁盘中。

评估内容数据库中将存储的初始内容量。请考虑以下因素:

  • 初始内容大小的值乘以 1.2 可得到 SQL 数据库中存储内容大小的值。

  • 如果对文档使用版本控制,则每个版本的副本都存储在数据库中。

未来增长

应规划您预计最初部署所包含数据量两倍的数据量。输入一个适于您所在环境的数字。

可用空间

至少要为每个硬盘或卷留出 25% 的可用空间。

总容量

Web 服务器的磁盘空间要求

可以根据下表计算服务器场中的每台 Web 服务器的磁盘空间要求。

类别 说明

操作系统文件

Windows Server 2008 安装程序和系统文件所需的磁盘空间。有关详细信息,请参阅为安装分区选择文件系统 (https://go.microsoft.com/fwlink/?linkid=78866&clcid=0x804)。

4 GB

页面文件

默认情况下,页面文件的大小将与物理内存量相同。

Office SharePoint Server 2007 安装文件

1.3 GB

.NET Framework 版本 3.5

60 MB

可用空间

至少要为每个硬盘或卷留出 25% 的可用空间。

总容量

性能监控

为了帮助您确定何时必须扩大或扩展系统,可使用性能计数器监视系统的运行状况。使用下表中的信息可确定性能计数器监视哪些内容以及应对哪些进程应用性能计数器。

Web 服务器

下表演示服务器场中的性能计数器和要为 Web 服务器监视的进程。

性能计数器 应用的对象 注释

处理器时间

总计

显示此线程占用处理器执行指令运行时间的百分比。

内存使用率

应用程序池

显示应用程序池的系统内存平均使用率。必须标识要监视的正确应用程序池。

基本原则是,为给定的 Web 应用程序确定高峰内存利用率,并将该值加上 10 再分配给关联的应用程序池。

数据库服务器

下表演示服务器场中的性能计数器和要为数据库服务器监视的进程。

性能计数器 应用的对象 注释

平均磁盘队列长度

包含 SharedServices.mdf 的硬盘

如果平均值大于每心轴 1.5,则表明该硬盘的写入次数不足。

处理器时间

SQL Server 进程

如果平均值大于 80%,则表明数据库服务器上的处理器容量不足。

处理器时间

总计

显示此线程占用处理器执行指令运行时间的百分比。

内存使用率

总计

显示系统内存的平均使用率。

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍

另请参见

其他资源

InfoPath Forms Services 2007 Web 测试工具包(该链接可能指向英文页面)