性能压力测试方案实例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UDMS性能压力测试方案

版本控制

目录

一、概述 (4)

1.1 项目背景和测试目的 (4)

1.2 被测系统介绍 (4)

1.3 测试可接收条件 (4)

二、测试需求 (5)

三、测试方法 (5)

3.1 测试方法 (5)

3.2 测试案例 (6)

3.3 测试流程 (6)

3.4 数据文件准备 (6)

四、测试环境 (7)

4.1网络拓扑图 (7)

4.2环境配置 (7)

五、测试实施 (8)

5.1试资源与进度 (8)

附录:测试工具原理 (9)

一、概述

1.1 项目背景和测试目的

为保障UDMS后续示范应用项目能够顺利实施,UDMS项目组希望在示范应用项目正式实施前了目前的UDMS性能是否可行,即了解示范应用项目技术的可行性。另外,通过测试,还希望了解使用不同技术之间实现的差异。

1.2 被测系统介绍

本次被测系统是目前已完成的UDMS1.1系统,系统逻辑结构如下图:

系统逻辑结构图

本次测试主要测试数据的索引性能及并发数据搜索性能。

1.3 测试可接收条件

1、数据索引性能每次测试均需成功;

2、数据并发搜索性能根据并发用户量决定,见后续描述;

每次测试,以上条件必须同时满足,方视为本次测试通过。

二、测试需求

本次测试的需求包括:

《项目计划文档》

《性能需求规格说明书》

《系统架构设计文档》

三、测试方法

3.1 测试方法

测试过程采用自动测试工具进行。使用HP公司的测试产品:LoadRunner。对数据索引性能测试不使用上述工具。

1.测试UDMS系统数据索引性能:

对UDMS系统进行数据导入测试,分别导入1万、10万,100万,1000万条文本及多媒体数据,之后记录每次导入的时间。

2.整个系统能够支持多少用户同时访问

模拟多个虚拟用户,同时向UDMS发送搜索请求,之后记录每个虚拟用户的响应时间。

3、不同技术间实现的差异

如有条件,可测试示范应用系统使用不同数据库平台之间的性能差异。该部分测试视实际情况决定是否需要测试。

3.2 测试案例

3.3 测试流程

正式测试过程如下:

✓确认被测环境正常;

✓确认测试环境设置;

✓开始测试;

✓存储测试结果;

✓系统调试;

✓应用调试;

✓环境维护;

3.4 数据文件准备

四、测试环境

4.1网络拓扑图

Load Generator

测试网络拓扑图4.2环境配置

五、测试实施

5.1试资源与进度

测试组织结构图

附录:测试工具原理

Mercury Interactive 公司的客户机/服务器系统的压力测试工具LoadRunner,其工作原理为:通过一个中心控制点,在一个或几个主机上同时模拟成百上千的实际用户的操作,从而生成一致的、可测量的及可重复的系统负载,并记录特定交易操作的响应时间。概要地说:首先录制应用程序的操作过程,测试工具会自动生成可执行的脚本,该脚本运行起来,从服务器端看,就如同一个实际的用户在进行操作,我们称为虚拟用户。然后,通过中心控制点(Controller)设置测试场景,控制许多个虚拟用户在多台Agent机器上同时运行,监控运行状态,收集响应时间等性能数据。

●使用虚拟用户(Vuser)替代实际用户

每个模拟的用户即为一个虚拟用户,其实就是一个运行的测试脚本。

LoadRunner在PC上主要有两种Vuser:非图形用户界面的虚拟用户(Non-GUI Vuser)和图形用户界面虚拟用户(GUI Vuser)。

Non-GUI Vuser是直接通过API调用和Web/Application/DB服务器进行交互的,它的脚本是直接向服务器提交请求的类C语言程序。多个Non-GUI Vuser 可运行于一台主机上。Vuser可通过Virtual User Generator来录制生成,在录制脚本中可以标明某一活动(transaction)的开始和结束点,用于具体度量这一活动的响应时间及性能,还可以在某一操作之前定义集结点(rendezvous),用于测试这一操作的多用户并发。

GUI Vuser模拟实际用户运行应用程序进行操作的情况,它的脚本记录了客户机上所有的界面操作。GUI Vuser可通过Mercury Interactive 公司的功能测试工具WinRunner来录制生成。

由于本次压力测试的目的是检验服务器对压力的承载能力,因此建议通过在一台主机上运行多个Non-GUI Vuser来模拟多用户的活动进行压力测试。

●测试脚本的参数化

测试脚本反映的是录制时输入的数据的情况。但由于录制操作可能引起原输入数据状态的变化,因此要修改测试脚本中的输入数据及与其相关的数据;而且为了更准确地模拟真实系统的运作,输入的数据及与其相关的数据就必须参数化,并且为该参数建立一个包含所有数据的参数文件。这样当模拟多用户进行压力测试时,就可控制每个虚拟用户使用参数文件中的不同数据。

通过中心控制点(Controller)管理虚拟用户

在中心控制点,定制测试场景,即将要在测试会话中发生的事件。定制包括模拟的用户个数、模拟用户所在的主机、模拟用户的动作等。

在中心控制点控制场景的运行,管理所有虚拟用户的活动,监控虚拟用户的状态,也可以无人照料地运行。场景执行完后,可通过Controller的性能分析图

相关文档
最新文档