SharePoint 2010 应用程序的 Web 性能和负载测试

可以使用 web 性能,并在 SharePoint 应用程序负载测试验证性能和基础功能。 可以将负载测试配置为模拟条件 (如用户负载、浏览器类型和网络类型。

要求

  • 在何处创建,运行和管理的 web 性能,负载测试?
    Web 性能测试和负载测试 管理使用 web 性能,负载测试包含 Visual Studio 旗舰版的项目类型。

主题内容

  • 我原因若要运行 web 性能,并在"我的 SharePoint 应用程序?

  • 创建并运行 web 性能测试记录添加到 SharePoint 中的任务 2010 中

  • 在 web 性能测试创建后,会发生什么?

  • 记录的 SharePoint 网站的配置 Visual Studio 选项性能测试

  • 验证使用验证规则,您的 SharePoint 应用程序是否正常工作。验证是否正常工作。

  • 验证使用提取规则,您的 SharePoint 应用程序是否正常工作。提取数据来从 web 请求

  • 测试您的 SharePoint 应用程序进行压力使用负载测试

  • 分析 web 性能测试和负载测试结果

  • 疑难解答为 SharePoint web 应用程序性能测试

我原因若要运行 web 性能,并在"我的 SharePoint 应用程序?

Web 性能测试和负载测试可用于验证您的 SharePoint 应用程序的功能、性能和压力功能。 包括 web,如果应用程序使用持续运输方法,性能和为您的 SharePoint 应用程序负载测试可以显着提高团队的应用程序在段托管进程并有价值。

有关更多信息,请参见 测试使用 Visual Studio 进行附带的 2012 中

  • Web 性能测试

    Web 性能测试中记录然后运行和分析您的 SharePoint 应用程序。 例如,可以创建 web 性能测试在 SharePoint 应用程序执行以下操作:

    • 站点呈现

    • 文档库操作

    • 任务、日历和库操作

    • 搜索目录

    • Wikis

    • 自定义的 web 部件

    • 工作流

    • 从功能区的多个操作

    • 使用测试多个站点和列表

  • 负载测试

    对压力测试的模拟大用户负载,不同的网络拓扑的 SharePoint 应用程序,然后使用将 SharePoint web 性能测试的其他条件,可以创建负载测试。

  • 不用应当知道?
    注释

    • 系统必备 为 SharePoint Web 应用程序性能测试仅支持与 SharePoint 2010。

    • 系统必备 编码的 web 性能测试 没有为 SharePoint 应用程序的支持。

      编码 Web 性能测试 通常是通过转换存在创建的,记录的 Web 性能测试到代码中。 编码 Web 性能测试是一个生成一系列 WebTestRequest 的 .NET 类。 可以使用 C# 或 Visual Basic 编程。

创建并运行 web 性能测试记录添加到 SharePoint 中的任务 2010 中

备注

此过程假定,您具有泛型 SharePoint 2010 网站、http://SP2010 和命名 SampleSite 的子站点。可以在 SharePoint 中通过选择 新建站点 创建一个子网站中的 网站操作 下拉列表。

  1. 创建新的 web 性能,负载测试项目。 在 Visual Studio 旗舰版 菜单中,选择 文件新建然后 项目。 外接 Visual C#Visual Basic 并选择 测试。 选择 Web 性能和负载测试项目 并选择 确定

  2. Web 性能测试的显示空测试的编辑器。 若要记录测试,请选择 添加记录 按钮。

    添加记录

  3. 一个新的空白浏览器窗口显示与该 web 测试左侧的记录器面板。 在浏览器地址栏中键入 SharePoint 网站的名称。 Visual Studio 旗舰版 将记录,并列出在该网站的 URL 测试记录器面板。

    Web 性能测试记录器

  4. 执行以下步骤导航到 SharePoint 子站点 SampleSite,并将新的项添加到网站任务列表:

    1. 从 SharePoint 网站的顶部选择 SampleSite

      选择 SampleSite

    2. 从左侧的菜单中,选择 任务

      选择任务

      SampleSite > 任务:所有任务 页。

    3. 若要将新任务添加到列表中,选择 添加新项 链接。

      添加新项

      任务-新项目 出现对话框。 唯一的必需字段是 标题,并输入的值不重要。 完成有关对话框的信息并选择 保存

      创建新任务项

    4. 浏览器回 SampleSite > 任务:所有任务,现在为在上一步添加的新任务。

      已添加新任务

    5. 若要结束该记录,请选择 Web 的 停止 测试记录器面板。

      动态参数 检测出现对话框。 它指示检测进度。 这应该只能使用短,在完成时。

      动态参数检测

      Visual Studio 旗舰版 将返回到 Web 性能测试新创建的 web 性能测试中显示的编辑器。

      Web 性能测试编辑器

  5. 若要确认测试正确运行,请先浏览 SharePoint 网站以查看现有列表项:

    http://sp2010/SampleSite/Lists/Tasks/AllItems.aspx

  6. 回 Visual Studio 旗舰版 并选择 Web 的 运行测试 按钮性能测试编辑器。 您的测试运行,执行您记录的事件添加新的项添加到 SharePoint 任务列表。

    运行 Web 性能测试

  7. choose 在您的 SharePoint 网站的浏览器窗口刷新,并且现在应该看到一个新的任务项添加到列表中。

在 web 性能测试创建后,会发生什么?

有些网站和应用程序使用 动态参数 在其一个或多个的 web 请求。 “动态参数”是指其值在用户每次运行应用程序时生成的参数。 动态参数可能会导致您的 web 性能测试播放失败,因为测试运行的动态值可能每次将有所不同。 因此,您无法播放记录的值。 动态参数的一个示例就是会话 ID。 会话 ID 通常每隔 5 到 30 分钟就会发生更改。

Web 在 SharePoint 网站性能测试记录很复杂由于 SharePoint 和响应格式的动态谓词请求。 即使 web 录制和播放性能测试在单个项目中工作或站点,修改的一个大量对 web 性能测试需要允许测试在多个 SharePoint 站点或服务器上工作。 为 SharePoint 网站的每个请求可能需要 30 各个修改解决动态 GUID 和其他方面。

自动 web 性能测试记录器和播放引擎处理最常见的动态参数类型:

  • 在 Cookie 值中设置的动态参数值。 在播放时,web 性能测试引擎会处理这些事件。

  • 在 HTML 页的隐藏字段中设置的动态参数值,如 ASP.NET 视图状态。 这些参数值可由记录器自动处理,只要已向该测试添加了隐藏字段提取规则。

  • 设置为查询字符串或窗体发布参数的动态参数值。 这些参数值在测试完成时通过动态参数检测进行处理。

  • SharePoint GUID 转换

  • SharePoint LISTID,ID 和其他查询字符串参数

  • 创建缺少的 SharePoint 标头提取规则

  • 创建可能的动态参数的警告

除了该动态参数外,Visual Studio 旗舰版 对 web 下面的事件性能测试 SharePoint 应用程序的记录:

  • 移除不必要的请求

  • 站点名称检测和参数化

  • 错误的全局验证规则

JJ710162.collapse_all(zh-cn,VS.110).gifSharePoint GUID 转换

SharePoint 常用唯一 GUID,并且必须处理每个 GUID 用作动态参数,如果这些在不同的 SharePoint 网站测试预期运行。 例如,在单个请求,您可以让您需要处理您的请求的动态 GUID 的 30 个或多个位置。 要使此过程更加复杂是 GUID 而不仅仅用于在窗体 POST 请求的值部分,还会显示该请求的其他部分:

  • 发送名称字段的动态 GUIDS

  • 按窗体 POST 参数的值的 GUID

    不同之处在于此复杂是 GUID 位于另一个动态参数中。 Visual Studio 旗舰版 自动检测此情况并提高新提取规则为处理此情况。

  • 在_EVENTARGET 字段的动态 GUID

  • 尽管这不是 GUID,它显示有站点名称在请求需要已处理的示例。

JJ710162.collapse_all(zh-cn,VS.110).gifSharePoint ListID,ID 和其他查询字符串参数

除了 GUID 外,SharePoint 测试包含需要处理的许多其他动态值,如 ListIDs。 Visual Studio 旗舰版 添加必要的提取规则通过的测试并搜索替换所有匹配项。

ID 使用,当选择一个项以查看时,例如,当您查看某个任务时。

根据您的特定用例,您可能希望选择任意项目而不是在录制期间,已选择的特定一个。 通过使用提取规则 SharePoint –查找列表项 ID,若要使此任务更加容易,Visual Studio 旗舰版 检测 ID。 如果 Visual Studio 旗舰版 未能找到与提取规则的列表项 ID,则 Visual Studio 旗舰版 创建 ID 的上下文参数,并继续搜索向前替换所有区域是 ID 进行检测。

如果希望为项 ID 使用动态值,可以使用提取规则简化此为您处理。

JJ710162.collapse_all(zh-cn,VS.110).gif移除不必要的请求

SharePoint 生成大量请求,但有些是不必要的混淆。 例如,它生成请求不需要处理核心操作所需的缓存的 URL,例如请求。blank.gif。 这使得难以在脚本工作。 如果测试目标不需要这些请求,例如测试的 bandwidth/WAN,您可将安全移除这些请求测试。

提示

降噪请求筛选列表中 配置日志的 SharePoint web 性能测试的选项修改。

JJ710162.collapse_all(zh-cn,VS.110).gif站点名称检测和参数化

若要参数化字符串,可以在 web 可以创建 上下文参数 使用性能测试。 例如,可以创建网站的上下文参数。 使用该上下文参数,可将测试从一个站点快速切换到另一个站点。 Visual Studio 旗舰版 位于 SharePoint 站点命名并添加检测到的每个站点名称的上下文参数。 此外,它还替换站点名称和其他区域的所有匹配项中 (如查询字符串、窗体 POST 参数或字符串站点名称可能遇到的主体请求。

具有站点名称将遇到的情况,但是,必须在 URL 编码格式。 Visual Studio 旗舰版将第一个尝试使 URL 编码最小化参数的数目。 如果不起作用,一个附加的站点名称将添加清单必须是 URL 编码的值。 如果您的 SharePoint 网站名称,使用空格或其他特殊字符会遇到此情况。

提示

可以指定站点名称参数化的 配置日志的 SharePoint 网站的 Visual Studio 选项性能测试 。

JJ710162.collapse_all(zh-cn,VS.110).gif错误的全局验证规则

在大多数情况下,SharePoint 返回成功状态代码 (HTTP 200),但是,该请求实际失败。 这可能导致您认为测试正确工作,由于某个错误状态时,时,实际失败。 帮助检测这些情况和警报将失败请求的 web 测试级别 验证规则 添加。

有关使用验证规则的更多信息,请参见本主题中的 验证使用验证规则,您的 SharePoint 应用程序是否正常工作。验证是否正常工作。。

提示

可以包含错误的全局验证的 记录的 SharePoint 网站的配置 Visual Studio 选项性能测试 。

JJ710162.collapse_all(zh-cn,VS.110).gif创建缺少的 SharePoint 标头提取规则

有时,SharePoint 2010 中针对特定标头值 (如 x-requestdigest。 如果这些值不存在,出于安全或其他错误,请求失败。 Visual Studio 旗舰版 具有创建该函数记录这些标头和 提取规则 动态更新这些值。

有关使用提取规则的更多信息,请参见本主题中的 验证使用提取规则,您的 SharePoint 应用程序是否正常工作。提取数据来从 web 请求 。

配置日志的 SharePoint web 性能测试的选项

  1. 从 Visual Studio 旗舰版 菜单中,选择 工具 然后选择 选项

  2. 外接 Web 性能测试工具,然后展开 Web 测试 并选择 SharePoint

SharePoint 上用于 Web 测试的 Visual Studio 选项

通过打开 Visual Studio 旗舰版 选项"对话框中,在 SharePoint 应用程序可以配置 web 的以下选项卡性能测试:

  1. 启用或禁用 web 性能测试并加载您的 SharePoint 应用程序中。

  2. 筛选您或您的团队可能会将您的不必要的降噪测试基于指定条件的请求。 默认情况下若要避免混淆,以下 URL 标准和模式筛选。 如果您的团队需要包含在您的这些模式中的任何一个测试,则可以从列表中移除它们。

    默认值筛选器

    URL 标准

    URL 模式

    以结尾

    Blank.gif

    以结尾

    Blank.htm

    以结尾

    ScriptResx.ashx

    以结尾

    Commandui.ashx

  3. 使用上下文参数,您或您的团队可以参数化站点名称。 上下文参数允许您在参数化 web 的一个字符串性能测试,并且,此配置选项快速地从一个站点更改测试到另一个。 默认情况下,上下文参数是“SiteName”。

  4. 应用常见错误模式的一个全局验证规则。 这在检测将帮助该错误是否在响应发生过的 ErrorPattern 输入的文本存在从 SharePoint 服务器的 HTTP 响应。 在 ErrorPattern 可以输入多个错误模式答声通过之间用分隔符分号 (;)。 如果为 ErrorPattern 输入的一个或多个字符串都在响应中,web 性能测试视为错误,在 HTTP 响应生成的,而失败 web 性能测试。 默认情况下 ErrorPattern 包含以下错误字符串:\[{"Error":[^n];"SharepointError";"HasException":true。 可以移除这些默认值错误字符串或编辑,您的团队需要。

  5. 错误字符串可以选择按正则表达式。

验证使用验证规则,您的 SharePoint 应用程序是否正常工作。验证是否正常工作。

验证规则 帮助验证您的 SharePoint 应用程序是否正常工作。验证文本、标记或特性是否存在旁边的 web 请求返回的页面。 验证规则还可以验证完成请求所需的时间、是否存在窗体字段以及它们的值。

有关验证规则的列表包含用于 SharePoint 应用程序的更改,请参见 预定义验证规则

验证使用提取规则,您的 SharePoint 应用程序是否正常工作。提取数据来从 web 请求

提取规则 帮助验证您的 SharePoint 应用程序是否正常工作。提取数据来从对 web 请求的响应。 提取规则将结果以名称/值对的形式存储在测试上下文中。 提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。

有关提取规则的列表 SharePoint 中,请参见 SharePoint 的阿普斯预定义的提取规则

测试您的 SharePoint 应用程序进行压力使用负载测试

在创建后 web 为您的 SharePoint 应用程序性能测试,可以创建负载测试应用程序的性能和基础功能。 使用“新建负载测试向导”创建负载测试。 在使用向导后,您可以配置您希望如何测试您的 SharePoint 应用程序的性能和基础功能。

使用向导创建负载测试

解决方案资源管理器,右击 Web 性能,负载测试项目节点,再选择 添加,然后选择 负载测试

此向导为新提供配置选项负载测试包括:

  • 负载模式:在期间活动的虚拟用户数负载测试及其添加的速率在测试过程中。

  • 测试组合模型:运行的虚拟用户的概率。在负载测试方案。

  • 测试组合:混合 web 性能测试,单元测试,并且,编码的 UI 测试包含在负载测试。

  • 网络组合:用于测试的网络类型。 例如,LAN,25% 拨号 56K。

  • 浏览器组合:使用的浏览器类型负载测试。 例如,Windows Internet Explorer 9 和 Windows Internet Explorer 10。

  • 计数器集:计数器集是可用于在负载测试过程中进行监视的一组系统性能计数器。 计数器集按不同技术划分,例如 ASP.NET 计数器集或 SQL 计数器集。

    备注

    预定义的性能计数器集 使用了负载测试用于 SharePoint 不可用。

  • 运行设置 运行设置决定负载测试属性 (如测试的长度,"预热持续时间、错误详细信息的最大数目报告的和采样速率。

任一的负载测试运行 负载测试编辑器或 负载测试 菜单。

运行负载测试

分析 web 性能测试和负载测试结果

Web 性能测试结果查看器 可以查看每个请求详细信息在您的 web 性能测试以及对这些请求的响应。 Web 性能测试结果查看器将使用树视图来显示请求和顶级请求下的任何嵌套的独立请求。 页面重定向也显示在此树中。

可以使用 负载测试分析器,找出瓶颈、识别错误和测量改进应用程序。 您可以使用负载测试分析器通过以下方式来分析负载测试结果:

  • 监视正在运行的负载测试。

  • 分析完成后的负载测试。

  • 查看以前的负载测试的结果。

疑难解答为 SharePoint web 应用程序性能测试

警告

编码的 web 性能测试没有为 SharePoint 应用程序的支持。

JJ710162.collapse_all(zh-cn,VS.110).gif添加约会与创建会话选定的工作区域选项失败

此操作失败,因为新网站的工作区域创建,并 SharePoint 尝试使用同一名称创建网站。动态参数 检测到。

会话前缀在窗体发送参数引用用于创建会话并创建会话工作区域 web 请求使用唯一的会话前缀的工作区域: 更新,在 web 性能测试播放时间。 使用会话标题,当新网站后,它应该是唯一的。 否则,请创建工作区域调用失败。

JJ710162.collapse_all(zh-cn,VS.110).gif如果 web 性能测试即添加到单独的文件夹中除了根文件夹之外的测试项目,上载文档失败

工作区域:,如果文档上载 web 性能测试即添加到单独的文件夹然后显式指定同一文档作为在测试设置中的一个部署项目。

- 或 -

创建 web 性能测试在 web 性能,负载测试项目的根级别而不是创建应在单独的文件夹。

JJ710162.collapse_all(zh-cn,VS.110).gifSharePoint 删除操作

如果正在录制删除任务,日历约会,文档、和在尝试运行测试的 web 性能测试,它失败,因为相应的任务,约会或文档已被删除。

工作区域: 使用 SharePoint2010.FindListItems 提取规则提取需的列表项的 GUID 为 上下文参数。 可以筛选基于标题名称和索引号的选定内容。 通过在后续 删除 请求的参数。

- 或 -

有一个请求插件提取需的项的 GUID 以前的请求的响应然后将其传递给对于删除请求。

外部资源

JJ710162.collapse_all(zh-cn,VS.110).gif视频

SharePoint 的引入和情景搭乘使用 Visual Studio 2012.1 加载测试

如何为 SharePoint 应用程序负载测试使用 Visual Studio 2012.1

请参见

概念

使用 Visual Studio Web 性能和负载测试进行性能和压力测试

使用编码的 UI 测试来测试 SharePoint 2010 应用程序

验证和调试 SharePoint 代码

其他资源

Visual Studio 中的 SharePoint 开发

生成和调试 SharePoint 解决方案

分析 SharePoint 应用程序的性能