搜档网
当前位置:搜档网 › WAS测试Web系统性能方法

WAS测试Web系统性能方法

WAS测试Web系统性能方法
WAS测试Web系统性能方法

利用Web Application Stress Tool(WAS)做性能测试

内容

介绍

使用WAS的好处

WAS的缺陷

安装WAS

创建测试脚本

配置测试脚本

运行测试脚本

结论:最好的习惯

介绍

性能测试是成功发布一个网络应用的关键因素。当越来越多的用户访问你的站点时,清楚地知道你的应用程序和你的服务器群是怎样工作的就显得非常重要了。

为了给你的网络应用程序模拟出那种类型的使用,你可以协同几百甚至上千的真实用户在一段设计好的时间段里访问你的站点,你也可以只与一个能复制这么多用户负载的测试工具一起工作,

许多性能测试工具可以帮你的忙。基本上,这些工具都允许你以有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs (Uniform Resource Locators)。每一个虚拟用户都能精确地仿效在真实浏览器和网站服务器之间进行通讯协议。

在这篇文章里,我们将专注于其中一个这样的工具:Microsoft? Web Application Stress (WAS)工具。你可以在微软的Microsoft Windows? 2000 Resource Kit CD (WAS version 288)里面找到这个工具。

注意WAS不能再从Microsoft的网站下载了,Visual Studio .NET 的企业架构和企业开发版本都包含一个新的网络压力测试工具,这个工具叫做Application Center Test,是受Microsoft技术支持的工具。这个工具包含在Visual Studio .NET安装时的Enterprise Development Tools部分。在写这篇

文章时,Application Center Test还没有正式公开发表。关于如何得到Visual Studio .NET,请访问Visual Studio网站。

使用WAS的好处

首先,我们来讨论一下使用WAS测试你的应用程序的好处。

它简单

WAS允许你以不同的方式创建测试脚本:你可以通过使用浏览器走一遍站点来录制脚本,可以从服务器的日志文件导入URL,或者从一个网络内容文件夹选择一个文件。当然,你也可以手工地输入URL来创建一个新的测试脚本。

不像其它的工具,你可以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每一个测试开始前,主客户机透明地执行以下任务:·与其他所有的客户机通讯

·把测试数据分发给所有的客户端

·在所有客户端同时初始化测试

·从所有的客户端收集测试结果和报告

这个特性非常重要,尤其对于要测试一个需要使用很多客户端的服务器群的最大吞吐量时非常有用。

它的高可用性

WAS是被设计用于模拟Web浏览器发送请求到任何采用了HTTP1.0或1.1标准的服务器,而不考虑服务器运行的平台。

除了它的易用性外,WAS还有很多其它的有用的特性,包括:

·对于需要署名登录的网站,它允许创建用户帐号。

·允许为每个用户存储cookies 和Active Server Pages (ASP) 的session 信息

·支持随机的或顺序的数据集,以用在特定的名字-值对

·支持带宽调节和随机延迟(“思考的时间”)以更真实地模拟显示情形。

·支持Secure Sockets Layer (SSL)协议

·允许URL分组和对每组的点击率的说明

·提供一个对象模型,可以通过Microsoft Vis ual Basic? Scripting Edition (VBScript)处理或者通过定制编程来达到开启,结束和配置测试脚本的效果。

WSA的缺陷

除了优势外,WAS的确有一些缺陷存在。当前知道的bug和有关事项都列在WAS的网站上了。以下是当前WAS不支持的特性:

·以前面所发请求返回的结果为基础,修改URL参数的能力。

·运行或模仿客户端逻辑的能力

·为所分配的测试指定一个确定数量的测试周期的能力。

·对拥有不同IP地址或域名的多个服务器的同时测试能力

注意你可以使用多个主客户端来同时测试多个服务器。然而,如果你想把所有测试结果联系起来成为一个整体,则需要整理从各个WAS数据库得到的数据·支持页面在不同IP地址或域名间的重定向的能力

·从Web浏览器直接记录SSL页面的能力

注意WSA已经支持SSL页面的测试,但是没有记录它们。你需要在脚本录制完后,手工地为每个设计好的URL打开SSL支持

虽然对这些限制有一些相应的解决办法,但是如果你的应用依赖一个或多个这样的功能的话,你也许不能完全享受WAS带来的好处。

安装WAS

WAS要求Microsoft Windows NT? 4.0 Service Pack 4或以上版本,包括Windows 2000平台。还要求Internet Explorer 4.0以上版本,与Internet Explorer 5.0工作更好。

要安装WAS,首先下载最新版本的setup.exe程序,按照安装向导的指示。拷贝并在你的测试机器上安装。

注意在本文介绍的所有步骤均以WAS version 293为蓝本。

创建测试脚本

虽然你可以手动地创建测试脚本,WAS可以通过记录浏览器活动,导入服务器日志文件或评估Web文件夹的内容来帮助你创建测试脚本。在本文,我们将主

要通过记录览器活动的方式来创建测试脚本。采用这个方法而不用其它的方法有几个原因,包括:

·记录览器活动的方式以精确的方式捕捉所有用户的交互活动。任何从浏览器发往服务器的URL指向,应用程序参数和HTTP头部信息都会被自动地记录在新的测试脚本里。

·导入服务器日志文件的方法在站点已经进入投入使用阶段,有了真实的用户流量的情况下使用最好。但是,一个新的站点未必有这么多的真实用户使用数据,进一步说,可能还需要合并大量的日志文件来达到较好地体现用户活动的目的,这将需要创建大量的测试脚本,将需要客户端更多的系统资源。

·选取Web内容文件夹的方法最好用在测试多数是静态HTML文件的站点。这种方法允许在已有服务器的Web页面的基础上快速创建测试脚本。然而,这种方法并不捕捉任何由大多数应用程序文件产生的参数,像Common Gateway Interface (CGI)程序或Active Server Pages (ASP).

你只需要在主客户机器创建和存储你的测试脚本,当测试由主客户端初始化时,测试脚本会自动地分发到其他的测试客户端。

准备测试客户端机器

如果你正在你的内部网通过代理服务器使用WAS ,并且从内部网外的客户

端发送请求页面,而且你的公司使用Microsoft Proxy Server,那么按照以下

的步骤建立你的客户端:

1. 从开始菜单,指向设置\控制面板。双击管理工具图标,然后是服务图标。

2. 双击WebTool服务打开属性对话框

3. 点Log On As标签,然后点This account选择按钮添加你的网络用户名和密码。使用domain\user name的格式

4. 停止并重起WebTool服务

5. 然后,安装Microsoft Windows Proxy client 2.0,也叫Winsock Proxy 客户端,可以在Microsoft Proxy Server CD里找到(更多有关怎样安装和设置这个软件的信息,请参考包含在CD里面的文档)

6. 对于希望使用代理服务器的每个测试客户端,重复步骤1-5。

如果你的公司使用其他的代理服务器,就要安装该代理服务器的代理客户端。

准备浏览器

在开始录制一个脚本前,你需要准备好你的浏览器,清除你的浏览器的缓冲cache。否则,WAS也许不能记录所需的浏览器活动,因为浏览器可能从缓冲区而不是从所请求的服务器取得请求页面。

关掉IE的缓冲区

1. 在工具菜单,点Internet选项

2. 点常规标签,然后点删除文件。。。按钮。

如果使用IE5。0或以上版本则不需要修改代理设置,因为5。0以上版本的IE允许WAS改变这些设置。然而,对于IE4。0或早期版本,WAS使用一个内置的代理服务器来记录浏览器活动。

按WAS的需要指定代理设置

1. 在工具菜单,点Internet选项

2. 在连接标签里,修改代理设置以使代理服务器指向Localhost并且使用端口8000

3. 不选对于本地地址不使用代理服务器

记录脚本

在你的浏览器和客户端已经准备好记录后,做下面的操作:

1. 当你第一次运行WAS时,你会看到一个Create new script的对话框(Figure 1),询问你以什么样的方式创建一个新的测试脚本。

2. 点Record按钮。如果之前你选择了Don't display at startup,Create new script将不会显示出来。你可以在Script菜单选择Record然后Create.

3. 在Browser Recorder — Step 1 of 2对话框,你会被要求指定一些记录设置。在这里,清除所有的选择框点Next继续。

4. 在Browser Recorder — Step 2 of 2对话框,点Finish。一个新的

IE窗口会出现以便记录浏览器活动,同时WAS会被置于记录模式。

5. 在新出现的IE窗口的地址栏,输入你的目的站点的地址。在WAS的窗口你将看到HTTP 信息在跟随你的浏览活动而实时改变着。

6. 当完成了你的站点浏览后,转回WAS窗口—还处于记录状态—点Stop Recording按钮。就会终止记录并产生一个新的测试脚本。

在右边窗口的底部,你将看到一个列出所有脚本的列表。

对于需要安全连接的站点,WAS支持SSL页面。然而不允许SSL的记录。要解决这些限制,你可以在服务器端关掉SSL,记录脚本,然后再重新激活服务器上的SSL。

设置测试脚本

新录制的脚本还不能立即用来测试。还必须完成以下设置:

·调节脚本项和他们的属性

·调节测试脚本的测试

·建立页面组和点击百份比

·建立用户帐号

·建立客户端

·建立性能计数器

调节脚本项

在修改一个测试脚本的脚本项时需要考虑几点,我们将在下面介绍。

去掉不需要的脚本项

去掉冗余项以减少在测试中的噪声因素,或者去掉那些无效的URL。当要调整一项特殊的功能时,去掉所有指向图象,样式表单和其他辅助静态文件的脚本项。

为脚本项指定思考时间

脚本项表单的最后一项叫做“延迟”。这项允许你在执行脚本项之前指定特定的延迟时间(也叫思考时间)。

对于性能测试来说,如何定义思考时间并没有一个单独的标准。有些人使用零思考时间,有些人考虑使用30秒为思考时间。

主要取决于站点的内容和测试的目的。例如,有长页面内容的站点需要比简单页面的站点使用长一点的时间,因为用户需要使用多点的时间来读页面内容。

另外,如果你的目的是快速地决定一个只有少量客户端的Web服务器的吞吐量,你可以考虑零思考时间。没有思考时间的话,WAS的每个线程以最快速度对Web服务器施加压力。

为脚本项设置一系列的值

WAS允许你为一个脚本项的一对名字-值赋值,而不是对每一个请求都使用相同的值。这个特性对于模拟真实情形很重要,没有用户会不停的以相同的数据值请求同一页面吧?

例如,其中一项测试脚本是请求一个ASP页面展示一个产品的详细信息。我们可以设置WAS随机地从一列预先定义的产品ID选取不同的值,而不是每次都用相同的产品ID请求ASP页面。

为脚本项建立一列值

1. 在WAS窗口的脚本项,双击脚本项最前面的方型按钮(在表单的第一列)打开这项的详细菜单。

2. 在Querystring标签里(也叫Querystring Editor,如Figure 3所示),选定Format data to CGI standard。相应的名字-值对会出现在check box下的表单里。

3. 点选定的名字-值对的值,一个新的按钮会出现

4. 点这个按钮打开Field Values对话框

5. 在Field values对话框输入一串值,每一行一个值。你也可以通过剪切,粘贴一个电子表格的数据文件来输入。

6. 在Querystring Editor里,在表单中点有相同名字-值对的Distribution一列。在下拉菜单选择Random。

为脚本项设置SSL

为特定的脚本项激活SSL,需要作以下操作:

1. 在WAS窗口的脚本项,双击脚本项最前面的方型按钮(在表单的第一列)打开这项的详细菜单。

2. 在 SSL标签里,选Use SSL. (注意在你激活SSL时确保端口值应该在80到 443之间)。

调整脚本设置

为了您能满意地运行你的性能测试,你需要修改你的测试脚本的设置。通过双击左边的脚本名展开脚本的信息,你会找到一个Settings标签,在这里你可以为你的测试脚本指定很多设置。点击它将在右边窗口打开Settings视图。

指定目标Web服务器

默认地,目标服务器是“localhost”,应该替换为IP地址或目标服务器的域名。

改变设置

1. 在左边的窗口点测试脚本的名字

2. 在右边窗口顶部的Server输入目标服务器的IP地址或域名

注意如果你想对有Network Load Balancing(网络负载均衡)的服务器群组进行测试,就像Duwamish Online一样,则需要输入IP地址群。

设置并发连接数

在设置里的Concurrent Connections部分,你可以指定Stress level (threads)的值和Stress multiplier (sockets per thread)来控制对目标服务器的压力/负载程度。Stress level是全部客户端所产生的Windows NT线程的总数。每个线程能产生多个socket而每个socket就是一个并发的请求。

以下公式解释了他们之间的关系:

Total Concurrent Requests = Stress level (threads) x Stress multiplier

(sockets per thread) = Total Number Sockets

在我们的实验室,我们使用不同的Stress层次来性能测试。例如,我们使用过100, 200, 300, 400, 500, 750, 1000, 1500,和2000的值来连续测试以研究我们的服务器群组是如何对连续增长的负载作出反应的。

你应该在初步测试的结果基础上调整这些数值。通常来说,你需要在低负载度时收集更多的数据点,因为这时候系统的吞吐量会随线程的增长而线性增长。另一方面,你可以在高负载度时运行较少的测试以节省时间和精力,尤其是系统吞吐量已经高于峰值时。

注意我们的第一次测试将设定在1000个线程。目的是运行足够的请求以建立我们程序的数据缓冲。因为程序的性能会因为有没有缓冲而表现大不相同,这将帮助我们为负载测试保持一个一致的环境。

设定测试运行时间

在设置视图的Test Run Time部分,你可以以日,小时,分钟,秒来设定总的运行时间。取决于你的脚本项的预期反应时间,建议你运行测试脚本至少若干

分钟以便产生足够的请求,避免变形的测试结果。你的程序的反应时间越高,测试进行的时间就应该越长,以便产生大量的数据。

你可以运行短而密集的测试以便监测你的站点的任何问题。另外,你需要运行更长的测试时间(例如,30天),看看你的站点的性能是否随时间而退化,尤其是在中级或高级的负载压力下。

在Duwamish Online这个站点,大多数的性能测试都运行7到10分钟,以便有足够时间来稳定测试结果。

设置随机延迟时间

在设置视图的Request Delay部分,你可以在执行测试前为每个脚本项选择加入随机延迟时间(或思考时间)。如果Use random delay选项框被选中,每个WAS线程会空转一段随机的时间(在最大值和最小值之间)加上为每个脚本项指定的固定的思考时间。

下面的公式解释了延迟时间的计算方法:

每项的延迟时间=随机延迟时间+每项的固定延迟时间

随机延迟时间的特性在固定延迟时间被指定给脚本项时尤为重要。如果没有使用随机延迟时间,所有的线程会在几乎相同的时间发送请求到Web服务器,然后等待几乎相同的固定延迟时间然后发送下一个请求。随机延迟时间在向Web 服务器施加负载时有助于压平峰值和谷值,因此为所需的负载水平呈现一个更为精确的环境。

设定挂起时间

在设置视图的Suspend部分,你可以以日,小时,分钟,秒来设定warmup和cooldown时间。Warmup时间就是初始化测试运行时间,在这段时间里不会收集和计算性能数据。类似地,cooldown时间就是指定结束阶段的测试时间,也不收集数据。Warmup 和 cooldown被用于最小化测试结果的失真。

通常,在一个新测试运行的初始化阶段,很多系统资源是被特定的活动所消耗,像组件或应用程序的缓冲初始化。Warmup时间有助于在任何测试数据被收集之前稳定系统的环境。

另一方面,cooldown时间有助于在测试运行的结束阶段避免数据的变形,这时额外的系统资源被用于停止测试和开始从客户端收集数据。另外,socket 连接可能会过早地停止,造成大量的socket错误。

在Duwamish Online,我们使用30 到 60秒作为大多数性能测试的warmup 和 cooldown时间

指定带宽瓶颈

在设置视图里的Bandwidth部分,WAS允许你模拟从14.4 Kbps的modem连接到T1 (1.5 Mbps)的Local Area Network (LAN)连接的网络带宽。这个特性的最大好处是可以支撑大量的并发连接到目标服务器。这是大多数Web站点(用户使用低速modem连接)所体验的情形。

激活带宽瓶颈

1. 在设置视图里的Bandwidth部分,选择Throttle bandwidth选项框。

2. 在下拉菜单,选择一个代表大多数用户的连接吞吐量的带宽。

在Duwamish Online里,我们试过不同的带宽瓶颈的设置。初始化时。我们把用户连接设在56 Kbps,想明白我们的程序在大多数Web站点的情况下是如何表现的。我们也试过把用户连接设在ISDN Dual Channel (128 Kbps)以模拟未来宽带趋势下,我们的大多数用户通过快速的连接访问我们的站点。最后,我们以没有带宽瓶颈的情形测试我们的站点。有趣的是,我们发现这种设置产生的负载条件与用128 Kbps连接的一样。

不管你如何设置带宽瓶颈,务必要在你想比较测试结果的所有测试中保持一致性。

指定其他设置

在设置视图的其他部分,我们保持默认值,除HTTP重定向外。我们故意去掉Follow HTTP redirects选项。这在创建脚本过程中你录制脚本时已经录制了URL的重定向的时候是必须的。你不需要重复两次地运行那些URL。

设置页面组

在WAS里,你可以把一系列的脚本项组织成所谓的页面组。这个特性允许你把所有的页面元素(包括HTML文件,图象文件,样式表单等)或多个相连的页面组织成一个逻辑单元。你可以为每个页面组指定不同的点击率,那样就能控制

哪个页面或相连的页面会访问更多或更少。如果你有你的网站的使用方法—像目录浏览或购物车—页面组允许你以你希望你的站点会获得的点击率来运行。

建立页面组

1. 展开左边窗口的脚本的信息

2. 点Page Groups节点在右边窗口打开相应的视图

你会看到默认的以100%分布率的页面组已经创建好了。所有的脚本项默认都初始化为这个组。

3. 在组表单的空白行,在Group列输入新的组名(像"Home"作为主页),在Distribution列输入数值。分布率会被用于计算这个页面组的点击率,见Percent列。重复这个步骤添加更多的页面组。

4. 点左边窗口的脚本名回到该脚本项的视图

5. 在脚本项表单的Group列,从下拉菜单选择其中一个页面组。为每个脚本项重复这个步骤。所有关联的页面都应该选同样的页面组。

Figure 5. Example of page groups definition

6. 点左边窗口的脚本名回到该脚本项的视图

7. 在脚本项的表单的Group一列,从下拉菜单选则其中一个页面组。

8. 重复6到7为每一个脚本项选择一个页面组。所有相关项(像ASP 页面,样式表单和图象文件)应该选择相同的页面组。

另一种创建和指定页面组的方法是在录制脚本时指定页面组。要使用这种方法,在浏览器跳到新的页面之前返回到WAS窗口(见Figure 2)。点Change Group 按钮然后在New Group对话框输入组名。以后录制的脚本项都会被指定到这个新的组。

指定用户

测试需要署名登录的Web站点时,WAS提供一个特性叫做Users,可用于存储多个用户的用户名,密码和cookie信息。

当一个测试开始时,所有的用户被分配到给定压力系数设置的各线程中。当请求开始时,每个线程使用从与该线程连接的共享池中获得的用户名,密码,和cookie。如果WAS配置的用户数比线程少,一些线程就会没有用户—所有的署名

登录页面会登录取失败,任何与cookies的交互会被禁止。所以,当测试需要个人认证的网站时,拥有的用户数比线程多是很重要的。

对于可以在WAS中创建的用户数没有硬性的规定和限制。然而,因为每个用户都会需要一定的内存和资源,所以如果使用大量的用户,将会使你的测试启动和停止时间更长些。

创建新用户

1. 在左边窗口展开脚本的信息

2. 点Users节点在右边窗口打开相应的视图

3. 双击Default用户组打开用户视图。

注意默认已经创建了200个用户。你可以简单地修改用户名和密码就行了。

你也可以做以下操作来创建一系列新的用户

1. 点Remove All清除所有的记录

2. 在Number of new users,输入你想创建的新用户的数量

3. 在User name prefix,你可以在用户编号的前面输入前缀值,例如“User.”

4. 在Password,输入密码。相同的密码会赋给所有用户。

5. 最后,点Create按钮。用户表单就会填满指定数量的用户

如果你想使用定制的用户名和密码列表,你可以从一个预定格式的文本文件导入它们。参考WAS帮助文件的“Importing user names and passwords”部分。

建立各客户端机器

WAS允许你使用多个客户端机器测试你的网站。当一个测试开始时,WAS会自动地与所有客户机取得联系,向他们传输所有的测试信息(包括测试脚本项,页面组和用户定义信息),启动和停止他们的测试,然后收集测试结果。

使用其中一个客户机器作为你的主客户端。这个主客户端应该是你用来记录和设置测试脚本的机器。

建立测试客户端

1. 在左边窗口展开脚本信息

2. 点Clients节点在右边窗口打开相应的视图

3. 双击Default客户端打开客户端视图

本地客户端的记录(在你工作的主客户端)已经默认被创建。

4. 要想加入新的客户端,在Machine name输入IP地址或域名。

5. 点Add按钮,新的客户端会以Connected的状态被加到表单中去。

6. 重复步骤5和6,直到全部客户端机器都被加入。

当添加新的客户端时,尽量加那些大致相同处理能力的机器。我们发现添加一个明显比其他机器速度慢的机器比不添加它还要产生更多的socket错误。

我们也发现如果我们设置一台专注的机器作为主客户端,但是这台机器不参与产生负载。这样的设置,我们会产生较少的socket错误,而且测试结束得更快。

要这样设置的话,从客户端列表去掉主客户端的名字。如果你有一台慢的机器而你不打算用做负载产生机器,它可以作为你的主客户端而不会影响测试的输出。注意,这台主客户端仍然做所有的产生报告和分发测试脚本的工作。一台慢速度的主客户端意味着你的测试启动和结束的速度会慢些,而且要更多的时间来产生报告。

设置性能计数器

WAS可以与Windows NT性能监视器结合简化测试数据的收集。你可以为每

个脚本存储你最喜欢的性能监视计数器,WAS 会像其它信息一样收集它们的数据。

把性能监视计数器加到你的脚本

1. 在左边的窗口展开脚本的信息

2. 在右边的窗口点Perf Counters节点打开相应的视图

3. 在Collection Interval,输入收集时间间隔。这是以秒计算的取样时间。

4. 点Add Counter按钮

5. 从Add counter to report对话框,通过点Add按钮选机器,对象和你感兴趣收集的计数器。

在WAS帮助文件的"Common performance monitor counters"部分有一系列的通用性能计数器的介绍。

如果你在使用这个特性时遇到什么问题,请参考WAS的基本知识介绍。

运行测试脚本

一旦你设置好了测试脚本,就准备好了在你的客户机运行脚本

启动主客户端的测试

1. 点需要测试的脚本

2. 从Scripts菜单选Run

也可以点工具栏上的Play按钮运行脚本。

检查测试报告

测试完成后,你应该先检查测试报告看是否有socket 或 HTTP错误

从报告中检查这些错误

1. 从View菜单选Reports打开相应的视图,见Figure 7.

2. 在左边窗口,双击脚本打开测试报告,如果需要的话

3. 点测试报告名(有测试运行时间指定),如果需要的话。你会看到右边窗口显示报告的概要。

4. 在报告概要,检查Socket Errors部分是否有任何的socket有关的错误(值不为0)。这里列出每种socket错误的解释:

·Connect—客户端不能与服务器取得连接的次数。如果这个值偏高,检查在客户端与服务器之间产生的任何潜在的错误。从每个客户端Ping服务器或telnet服务器的端口80验证你得到正确的回应。

·Send—客户端不能正确发送数据到服务器的次数。如果这个值偏高,检查服务器是否正确地工作着。在客户端打开一个浏览器然后手工点击站点页面验证站点正确地工作着。

·Recv—客户端不能正确从服务器接收数据的次数。如果这个值偏高,执行和Send错误相同的操作。还要检查一下如果你减低负载系数,错误是否跟着减少。

·Timeouts—超时的线程的数目,而且随后就关闭了。如果这个值偏高,在客户端打开一个浏览器然后手工点击站点页面验证是否即使只有一个用户你的程序也会很慢。再做一个不同负载系数的压力测试,看看你的程序的潜在特征。

5. 如果socket错误很低或为0,拉下报告视图找到Result Codes部分。

6. 检查一下是否所有结果代码都是200,表示所有请求都被服务器成功地返回了。如果找到大于或等于400的结果,继续下面的步骤以查找哪个脚本项(URL)产生这些HTTP错误的。

7. 在左边窗口展开脚本信息

8. 双击Page Data节点展开所有的脚本项

9. 点每个脚本项在右边窗口看页面数据的报告

10. 在每项脚本的页面数据报告检查Result Codes部分,验证是否有那项产生了HTTP错误。如果要看常见的结果代码列表,请参考WAS帮助文件的"HTTP result codes"部分。

运行脚本

在准备好以上介绍的测试脚本后,你现在就可以准备运行测试及收集数据了。

你可以按照前面介绍的步骤手工运行每项测试。然而,这将会是一项耗时的过程。

WAS有一个对象模型,允许你创建自己的Microsoft Visual Basic Scripting Edition (VBScript)脚本来控制和配置测试运行。

当测试运行时,你应该监视和记录不同的性能相关的系统计数器,包括跟踪系统吞吐量的计数器,反应时间和资源利用率。

结论:最好的习惯

客户机器。密切监视每个客户端的系统资源利用率。如果CPU或内存使用高于80%,客户端可能已经过载,你应该考虑使用更多的客户端机器来测试。压迫客户端机器会导致不可靠结果和在与服务器连接时产生socket错误。

给服务器设置多层负载。估计一下需要并发请求的最大用户量以便在预备测试中把你的Web服务器群推到100%的使用率。

当没有足够的客户端机器来使服务器群到达极限时,就需要设置更高的负载倍数,例如,如果你发现使用4,000个线程,都乘一倍的负载系数,你还是不能把服务器推到极限的话,把负载系数加大。然而,使用大于1的负载系数会产生不精确的Web程序页面的TTLB。如果有可能,增加更多的机器比靠增加负载系

数要好。

使用Session跟踪。使用Session跟踪来记录WAS 和Web服务器之间的详

细连接。当定义一个新的WAS脚本时,确保所有的URL都正常工作而且Web服务器返回的是所需要的结果。如果不是,那么很有可能你得到改进的性能结果,但是Web服务器返回的却是错误的响应。

你应该设置SessionTrace为1,类型为REG_DWORD。SessionTrace线程跟

踪可以在注册表的\HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \WAS注册。最后,记得在确认了新的脚本后关掉SessionTrace(0),否则,你的磁盘会很快就满了。

监视Web服务器的日志文件。要准备重新部署或清除你的Web服务器日志文件。太多的性能测试会使它膨胀的很快,尤其对于长时间的测试。你也可以把日志文件作为故障检查员帮助你检查WAS报告的应用程序错误。

限制脚本的项数和用户数。避免创建多于1000脚本或用户,除非有特殊原因需要多于这个数目的对象。虽然允许的数目限制是由客户端的内存决定的,你会发现初始化这么多的脚本和用户会花费太多的时间

跟踪HTTP重定向的选项。如果脚本已经录制了重定向的URL就不要再使用这项选项。如果你使用这项选项,重定向的页面将会计算两次。

用户名和密码。 WAS的帮助文件说用USERNAME 和 PASSWORD填表是指定每一个WAS用户的方法。在我们的测试过程中使用USERNAME 和 PASSWORD会大大地增加关闭各个客户端的脚本的时间。从一些WAS的内部使用者得到建议,我们在QueryString里指定USER 和 PASSWORD名字-值对。通过为USER 和 PASSWORD 设置顺序访问机制,我们保证了密码总是和用户名对应。

除了WAS的一些缺陷外,WAS是你发布网站之前模拟用户使用你的网站的好工具。使用性能测试工具对于成功的网站程序发布有重要作用。这些工具允许你清楚你的程序的性能特征,那么你就会清楚你的程序在高负载情况下会如何表现。你在操作网站的过程中得到的惊奇越少,你的站点就越可靠。

web性能测试计划

XXXX性能测试 页脚内容1

目录 1.文档介绍 (4) 1.1 文档目的 (4) 1.2 参考文献 (4) 1.3编写目的 (4) 2.性能相关描述 (5) 2.1性能测试指标 (5) 2.2性能测试范围 (5) 2.3 名词术语约定 (6) 页脚内容2

3 测试环境 (7) 3.1生产环境系统架构 (7) 3.2测试环境系统架构 (8) 3.3 生产环境软硬件配置 (9) 3.4 测试环境软硬件配置 (9) 3.5 负载机软硬件配置 (10) 4.需求分析 (11) 4.1业务模型 (11) 4.2 性能指标 (12) 5 测试策略 (14) 5.1测试执行策略 (15) 5.2 测试监控策略 (16) 6测试场景 (17) 6.1前台开单测试场景 (17) 7测试准备 (19) 7.1测试工具准备 (19) 7.2测试脚本及程序准备 (20) 页脚内容3

7.3测试数据准备 (21) 7.4测试环境准备 (21) 8测试组织架构 (22) 9项目风险 (23) 1.文档介绍 1.1 文档目的 本测试报告为XXX平台项目的性能测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合性能需求。 1.2 参考文献 1.3编写目的 从文档描述XXX发布系统性能测试的范围、方法、资源、进度,作为XXX发布系统性能测试的依据,该文档的目的主要有: 1、明确测试范围、测试对象 2、明确测试目标 3、明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求 4、确定测试方案,测试的方法和步骤 页脚内容4

5、指定测试工作的时间安排 6、分析测试的风险,寻找规避办法 7、确定测试需求输出的结果和结果表现形式 2.性能相关描述 2.1性能测试指标 (1).基于XXX业务量的要求,评估XXX平台是否能满足性能要求 (2).进行配置测试,找到相对合理的测试 (3).对XXX进行定容定量,提供规划参考 (4).验证系统的稳定性,验证系统的容错能力 (5).测试并找到系统可能存在的性能问题,分析系统瓶颈 2.2性能测试范围 通过性能测试需求调研,分析用户使用行为.对系统的用户及业务数据量作了定量分析,性能测试将主要集中在表A-1中列出的业务过程. 表A-1 测试范围 页脚内容5

web项目测试实战性能测试结果分析样章报告

5.4.2测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成功率、系统资源、网页细分图、Web服务器资源、数据库服务器资源等几个方面分析,如图5- 1所示。性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向。我们回顾一下本次性能测试的目的,正如错误!未找到引用源。所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU 使用率、内存使用率分别不超过75%、70%,那么按照所示的流程,我们开始分析,看看本次测试是否达到了预期的性能指标,其中又有哪些性能隐患,该如何解决。 图5- 1性能测试结果分析流程图 结果摘要 LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,如图5- 2所示。概要中列出了场景执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summary(HTTP响应摘要)”等。以简要的信息列出本次测试结果。 图5- 2性能测试结果摘要图

场景执行情况 该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如图5- 3所示。从该图我们知道,本次测试从15:58:40开始,到16:29:42结束,共历时31分2秒。与我们场景执行计划中设计的时间基本吻合。 图5- 3场景执行情况描述图 Statistics Summary(统计信息摘要) 该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如图5- 4所示。从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为842,037,409字节,平均每秒的吞吐量为451,979字节,总的请求数为211,974,平均每秒的请求为113.781,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。 图5- 4统计信息摘要图 Transaction Summary(事务摘要) 该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如图5- 5所示。从该图我们得到每个Action的平均响应时间与业务成功率。

基于Web系统的性能测试

基于Web系统的性能测试 摘要:Web应用系统具有方便、快速、易操作性等特点,使得社会中的各行业越来越倾向于使用Web应用系统开展自身业务以及扩大社会影响力。随着Web应用系统的广泛使用,用户对性能的要求越来越高。该文主要介绍了Web应用系统的关键性能指标及测试方法,结合案例评估和分析Web应用系统性能的过程。 关键词:Web应用系统性能测试性能指标LoadRunner 中图分类号:TP311 文献标识码:A 文章编号: 1007-9416(2014)04-0156-02 基于Web的应用系统在当今互联网盛行的时代被广泛应用于社会的各个领域,比如:教育行业、交通系统、移动通信、金融系统以及政府部门等各个领域。由于Web系统所具有的快捷、易使用的特点,使得社会中人们对Web系统更加依赖,也促使了社会各个领域对Web应用系统的重视,纷纷把原有的业务操作模式网络化。但是在网络化的过程中,随着工作流的增加、使用人员的增多以及业务数据量的剧增,问题也随之而来:如果交互的信息量过大,经常会导致系统反应速度骤降或者系统宕机。因此,社会各领域中的Web应用系统能否承受住大量的数据访问以及业务操作、并

能够快速地响应使用者的请求、系统能否长时间稳定地运行,系统的性能瓶颈所在,这些都是用户所关心的性能表现。性能测试的目的是检测系统性能是否符合用户的需求,有无性能方面的瓶颈;所以性能测试是项目建设过程中重要的一环。测试方法一般采用负载测试、压力测试等方法。 1 性能测试简介 性能测试考察的是通过性能指标验证系统有无性能问题。测试方法主要包括负载测试、压力测试、大数据量测试、疲劳强度测试等。在测试过程中通常是模拟真实用户使用环境下的负载量,统计分析系统各方面的性能数据,得出性能测试结论。在实际的测试工作中,通常要结合几种测试方法,综合分析测试过程中体现出来的各种数据。 1.1 性能测试类型 (1)负载测试:是在系统真实的用户环境下或模拟系统真实运行环境及用户真实业务使用场景情况下,通过不断给系统增加压力,在一定压力下延长系统运行时间,来验证系统各项性能指标的变化情况,直到系统性能出现拐点。目前一般采用业内经常使用的测试工具LoadRunner来执行测试。当然也可以采用其他的测试工具。本文是利用LoadRunner进行测试。 (2)压力测试:是对系统不断增加负载,让系统在处于极限负载的情况下或者是某项指标已经处于饱和的状态

Web性能测试方案

Web性能测试方案 1测试目的 此处阐述本次性能测试的目的,包括必要性分析与扩展性描述。 性能测试最主要的目的是检验当前系统所处的性能水平,验证其性能是否能满足未来应用的需求,并进一步找出系统设计上的瓶颈,以期改善系统性能,达到用户的要求。 2测试范围 此处主要描述本次性能测试的技术及业务背景,以及性能测试的特点。 编写此方案的目的是为云应用产品提供web性能测试的方法,因此方案内容主要包括测试环境、测试工具、测试策略、测试指标与测试执行等。 2.1测试背景 以云采业务为例,要满足用户在互联网集中采购的要求,实际业务中通过云采平台询报价、下单的频率较高,因此云采平台的性能直接决定了业务处理的效率,并能够支撑业务并发的压力。 例如:支撑100家企业用户的集中访问,以及业务处理要求。 2.2性能度量指标 响应时间(TTLB) 即“time to last byte”,指的是从客户端发起的一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,响应时间的单位一般为“秒”或者“毫秒”。响应时间=网络响应时间+应用程序响应时间。 响应时间标准:

事务能力TPS(transaction per second) 服务器每秒处理的事务数; 一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。 客户机在发送请求时开始计时,收到服务器响应后结束计时,一次来计算使用的时间和完成的事务个数。它是衡量系统处理能力的重要指标。 并发用户数 同一时刻与服务器进行交互的在线用户数量。 吞吐率(Throughput) 单位时间内网络上传输的数据量,也可指单位时间内处理的客户端请求数量,是衡量网络性能的重要指标。 吞吐率=吞吐量/传输时间 资源利用率 这里主要指CPU利用率(CPU utilization),内存占用率。 3测试内容 此处对性能测试整体计划进行描述,包括测试内容以及关注的性能指标。Web性能测试内容包含:压力测试、负载测试、前端连接测试。 3.1负载测试 负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大

web系统性能测试报告

1.总述 1.1测试对象 web系统 1.2测试目的 确定系统支持的最大并发用户数1.3测试环境

1.4测试依据 序号名称/版本 1.5参考资料 序号名称/版本编制日期作者/来 源1N/A N/A N/A 1.6术语及缩写词 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 处理能力:在某一特定环境下,系统处理请求的速度。 cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。

用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。 预期平均响应时间:由用户提出的,希望系统在多长时间内响应。注意,这个值并不是某一次访问的时间,而是一段时间多次访问后的平均值。 最大并发用户数:在给定的预期平均响应时间下,系统最多能支持多少个并发用户。这个数据就是实际可以同时使用系统的用户数。 1.7计算公式 成功率=成功次数÷(成功次数+失败次数) 处理能力=成功次数÷测试时间 最短平均响应时间=MIN(平均响应时间) 最高处理能力=MAX(处理能力)×(1-cache影响系数) 最大并发用户数=(最高处理能力-1÷(预期平均响应时间-最短平均响应时间+(1÷最高处理能力)))÷用户习惯操作频率,此公式要注意各时间单位的不同和转换

Web性能测试方法及其应用论文

Web性能测试方法及其应用 摘要 针对Web应用软件的特征,提出了一种基于目标的性能测试方法,其关注的主要容包括与Web应用相关的负载测试和压力测试两个方面。不但对这两个方面的测试方法进行了全面的分析和探讨,还强调了测试过程管理的重要作用,最后给出了这种方法在Web应用性能测试实践中的一个具体应用。 关键词:性能测试;负载测试;压力测试;软件测试 一.引言 目前,随着电子商务和电子政务等Web应用的兴起,基于B/S结构的软件日益强劲发展,正在成为未来软件模式的趋势。然而,当一个Web应用被开发并展现在用户、供应商或合作伙伴的面前时,尤其是即将被部署到实际运行环境之前,用户往往会疑问:这套Web应用能否承受大量并发用户的同时访问?系统对用户的请求响应情况如何?在长时间的使用下系统是否运行稳定?系统的整体性能状况如何?如果存在性能瓶颈,那么是什么约束了系统的性能?而这些正是Web性能测试解决的问题,如何有效进行Web性能测试,目前并没有一个系统和完整的回答。此外,由于紧凑的开发计划和复杂的系统架构,Web应用的测试经常是被忽视的,即使进行了测试,其关注点也主要放在功能测试上。但是,近年来Web性能测试越来越引起重视,成为Web系统必不可少的重要测试容。 本文的研究就是基于这种需求,从已进行过的Web性能测试实践中总结一套基于目标的Web性能测试方法,该方法已在大量的软件测试项目实践中被证明是有效的和可操作的。其具体测试实施方面包括负载测试和压力测试。 1概述 1.1基本概念 一般来说,性能测试包括负载测试和压力测试两个方面: 负载测试是为了确定在各种级别负载下系统的性能而进行的测试,其目标是测试当负载逐渐增加时,系统组成部分的相应输出项,如响应、连接失败率、CPU负载、存使用等如何决定系统的性能。压力测试是为了确定Web应用系统的瓶颈或者所能承受的极限性能点而进行的测试,其目标是获得系统所提供的最大服务级别的测试。

《Web项目测试实战》性能测试需求分析章节样章

5.1.2性能测试需求提取 复习了一些常见的理论概念后,我们开始性能测试需求的提取。这个过程是非常重要的,往往测试失败,就是因为在这个过程中不知道如何得到确切的性能指标,而导致测试无法正常开展。性能测试需求提取一般的流程如图5- 1所示。 图5- 1性能测试需求提取流程 分析提取指标 在用户需求规格说明书中,会给出系统的功能、界面与性能的要求。规范的需求规格说明书都会给出明确的性能指标,比如单位时间内访问量要达到多少、业务响应时间不超过多少、业务成功率不低于多少、硬件资源耗用要在一个合理的范围中,这些指标都会以可量化的数据进行说明。如果,实际项目并没有这些正规的文档时,项目经理部署测试任务给测试组长时,一般就会说明是否要对项目的哪些业务模块进行性能测试,以及测试的要求是什么的。最麻烦的就是项目经理或者客户要求给出一个测试部门认为可以的数据,这样非常难做的。可是“甲方”往往都是提要求的,“乙方”只能“无条件”接受! 表5- 1需求规格说明书中的性能要求 表5- 1给出的指标非常明确,在测试过程中,我们只需收集用户登录模块的响应时间、登录成功率、并发数、CPU使用率、内存使用率的数据,然后与表5- 1的指标进行比较即可,通过的,就认为达到了客户要求的性能,未达到就分析原因,并给出测试报告及解决建议。 大多数是没有明确的需求,需要我们自己根据各种资料、使用各种方法去采集测试指标。以OA系统为例,假设《OA系统需求规格说明书》中并未指明系统的性能测试要求,需要测试工程师自己分析被测系统及采集性能衡量指标。 分析OA系统的结构,所有功能中仅有考勤模块可能是被测系统最终用户经常使用的业务点,那么我们的重点应该在放在该模块上。一般我们可以从下面三个方面来确定性能测试点: 第一、用户常用的功能。常用的功能一旦性能无法满足,比如登录功能,从输入用户名与密码点击登录按钮到显示成功登录信息,花了5分钟,这样的速度是 人无法忍受的。而对于用户不常用的,比如年度报表汇总功能,三个季度甚 至是一年才使用,等个10分钟也是正常的,这些是跟用户的主观感受相关 的,得根据实际情况区分。

WEB性能测试用例

性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数据量测试,网络性能测试,服务器性能测试五大部分,具体编写测试用例时要根据实际情况进行裁减,在项目应用中遵守低成本,策略为中心,裁减,完善模型,具体化等原则;一、WEB 全面性能测试模型 Web 性能测试模型提出的主要依据是:一种类型的性能测试可以在某些条件下转化成为另外一种类型的性能测试,这些类型的性能测试的实施是有着相似之处的; 1. 预期指标的性能测试 系统在需求分析和设计阶段都会提出一些性能指标,完成这些指标的相关的测试是性能测试的首要工作之一,这些指标主要诸于“系统可以支持并发用户200个;”系统响应时间不得超过20秒等,对这种预先承诺的性能要求,需要首先进行测试验证; 2. 独立业务性能测试 独立业务实际是指一些核心业务模块对应的业务,这些模块通常具有功能比较复杂,使用比较频繁,属于核心业务等特点。 用户并发测试是核心业务模块的重点测试内容,并发的主要内容是指模拟一定数量的用户同时使用某一核心的相同或者不同的功能,并且持续一段时间。对相同的功能进行并发测试分为两种类型,一类是在同一时刻进行完全一样的操作。另外一类是在同一时刻使用完全一样的功能。 3. 组合业务性能测试 通常不会所有的用户只使用一个或者几个核心业务模块,一个应用系统的每个功能模块都可能被使用到;所以WEB性能测试既要模拟多用户的相同操作,又要模拟多用户的不同操作;组合业务性能测试是最接近用户实际使用情况的测试,也是性能测试的核心内容。通常按照用户的实际使用人数比例来模拟各个模版的组合并发情况;组合性能测试是最能反映用户使用情况的测试往往和服务器性能测试结合起来,在通过工具模拟用户操作的同时,还通过测试工具的监控功能采集服务器的计数器信息进而全面分析系统瓶颈。 用户并发测试是组合业务性能测试的核心内容。组合并发的突出特点是根据用户使用系统的情况分成不同的用户组进行并发,每组的用户比例要根据实际情况来匹配; 4. 疲劳强度性能测试 疲劳强度测试是指在系统稳定运行的情况下,以一定的负载压力来长时间运行系统的测试,其主要目的是确定系统长时间处理较大业务量时的性能,通过疲劳强度测试基本可以判定系统运行一段时间后是否稳定; 5. 大数据量性能测试 一种是针对某些系统存储,传输,统计查询等业务进行大数据量时的性能测试,主要针对某些特殊的核心业务或者日常比较常用的组合业务的测试; 第二种是极限状态下的数据测试,主要是指系统数据量达到一定程度时,通过性能测试来评估系统的响应情况,测试的对象也是某些核心业务或者常用的组合业务。 第三种大数据量测试结合了前面两种的测试,两种测试同时运行产生较大数据量的系统性能测试;大数据量测试通常在投产环境下进行,并独立出来和疲劳强度测试放在一起,在整个性能测试的后期进行;大数据量的测试可以理解为特定条件下的核心业务或者组合业务测试; 6. 网络性能测试 主要是为了准确展示带宽,延迟,负载和端口的变化是如何影响用户的响应时间的,在实际的软件项目中 主要是测试应用系统的用户数目与网络带宽的关系。网络测试的任务通常由系统集成人员完成; 7. 服务器(操作系统,WEB服务器,数据库服务器)性能测试 初级服务器性能测试主要是指在业务系统工作或者进行前面其他种类性能测试的时候,监控服务器的一些计数器信息,通过这些计数器对服务器进行综合性能分析,为调优或提高系

web端性能测试报告

Xxxx 性能测试报告 文档编号: 密级: 版本信息:Vxxxx 建立日期:2017-06 创建人:XXX

1引言 1.1编写目的 根据性能测试方案,给出结果和分析以及结论和建议。 测试方案预期读者:开发人员、测试人员、和项目相关人员。 1.2项目背景 1.3术语定义 虚拟用户:通过执行测试脚本模仿真实用户与被测试系统进行通信的进程或线程。 测试脚本:通过执行特定业务流程来模拟真实用户操作行为的脚本代码。 场景:通过组织若干类型、若干数量的虚拟用户来模拟真实生成环境中的负载场景。 集合点:用来确定某一步操作由多少虚拟用户同步执行(并发)。 事务:设置事务是为了明确某一个或多个业务或者某一个按钮操作的响应时间。 HPS:每秒点击数,一般情况下,与TPS成正比。 TPS:每秒事务数,是指每秒内,每个事务通过、失败以及停止的次数,可以确定系统在任何给定时刻的实际事务负载。 系统资源利用率:是指在对被测试系统执行性能测试时,系统部署的相关应用服务器、数据库等系统资源利用,比如CUP,内存,网络等。

2测试业务及性能需求 服务器配置如下: Web服务器: 操作系统:Windows7 旗舰版64位; 处理器:Intel(R) Xeon(R) CPUI5 -5200U@2.20GHz 2.20GHz 3场景设及计执行结果 3.1场景设计

3.2测试结果 3.2.1“提交”事务情况汇总 3.2.2每秒点击量(hps) 1、CJ-TJ_001和CJ-TJ_004点击率在大概维持在13-15左右的点击率 2、CJ-TJ_003和CJ-TJ_004点击率在场景持续变发60或者80个用户时,hPS会有明显的下降

WEB性能测试报告

Xxx项目_性能测试报告 一、概述 1.1 测试对象 web系统 1.2 测试目的 确定系统支持的最大并发用户数 1.3 测试环境 序 号 用途硬件环境软件环境 1 测试用机CPU PIII733 RAM 256M Win2000server + sp4 测试工具(loadrunner7.5) 2 web服务器(被 测系统)CPU P4 1Ghz RAM 256M Win2000server + sp4 Weblogic 6.1 3 数据库服务器 (被测系统)CPU P4 1.7Ghz RAM 512M Win2000server + sp4 Oracle 9i 1.4 测试依据 序号名称/版本 1.5 参考资料 序号名称/版本编制日期作者/来源 1 N/A N/A N/A

1.6 术语及缩写词 ●测试时间:一轮测试从开始到结束所使用的时间 ●并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可 能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 ●每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请 求。 ●平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 ●处理能力:在某一特定环境下,系统处理请求的速度。 ●cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大 作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。 ●用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次 数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。 ●预期平均响应时间:由用户提出的,希望系统在多长时间内响应。注意,这个值并不是某一次访 问的时间,而是一段时间多次访问后的平均值。 ●最大并发用户数:在给定的预期平均响应时间下,系统最多能支持多少个并发用户。这个数据就 是实际可以同时使用系统的用户数。 1.7 计算公式 ●成功率=成功次数÷(成功次数+失败次数) ●处理能力=成功次数÷测试时间 ●最短平均响应时间=MIN(平均响应时间) ●最高处理能力=MAX(处理能力)×(1-cache影响系数) ●最大并发用户数=(最高处理能力-1÷(预期平均响应时间-最短平均响应时间+(1÷最高 处理能力)))÷用户习惯操作频率,此公式要注意各时间单位的不同和转换 2.测试方法 2.1 测试模型 2.2 测试过程简述 通过编写特定的测试流程,使用多线程技术,模拟多个浏览器持续一段时间并发访问被测系统,记录系

Web Tours网站性能测试计划

Web Tours网站性能测试计划 作者:fzw 发布日期:2012 文档版本: 文档编号: 文档历史: 变更记录 变更日期作者版本变更摘要 相关文档 发布日期文档标题版本备注

文档目的 描述Web Tours性能测试流程、范围、环境、风险等因素作为性能测试实施依据。 项目背景介绍 Web Tourd是HP LoadRunner软件自带一个飞机订票系统网站,是一款基于https://www.sodocs.net/doc/0418610658.html,平台的网站。基于先进的.NET Framework,默认支持SOL Server数据库,可扩展支持ACCESS、MySql等多种数据库。支持基于IE、Chrome、Firefox、Opera等浏览器。 Web Tours网站主要是提供方全世界用户进行网上订票、查看订票信息、预订机票、修改预订机票的功能支持。 术语及缩写 性能测试(Performance Testing):在一定负载的情况下,系统响应时间、吞吐量等性能是否满足用户特定的性能需求。 负载测试(Load Testing):在一定的软件、硬件及网络环境下,在不同虚拟用户数量的情况下进行一种或多种业务,测试服务器的性能指标是否在用户要求的范围内,用于确定系统所能承受的最大用户数、最大有效用户数以及不同用户数下的系统响应时间和服务器的资源利用率。 压力/强度测试:(stres Testing):在一定软件、硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间持续运行,以测试服务器在高负载情况下是否能够稳定工作。 配置测试(Configuration Testing):在不同软件、硬件及网络环境下,在一定的虚拟用户数量的情况下运行一种或者多种业务,获得不同配置的性能指标,用于选择最佳的设备及参数配置。 输入 《项目计划文档》 《性能需求规格说明书》 《系统架构计划文档》 其他性能测试文档 入口标准 系统运行环境 1)网络拓扑图

web性能测试基本性能指标

web性能测试基本性能指标 Web性能测试的部分概况一般来说,一个Web请求的处理包括以下步骤: (1)客户发送请求 (2)web server接受到请求,进行处理; (3)web server向DB获取数据; (4)web server生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中)。 1.事务(Transaction) 在web性能测试中,一个事务表示一个“从用户发送请求->web server接受到请求,进行处理->we b server向DB获取数据->生成用户的object(页面),返回给用户”的过程,一般的响应时间都是针对事务而言的。 2.请求响应时间 请求响应时间指的是从客户端发起的一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,在某些工具中,响应通常会称为“TTLB”,即"time to last byte",意思是从发起一个请求开始,到客户端接收到最后一个字节的响应所耗费的时间,响应时间的单位一般为“秒”或者“毫秒”。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。标准可参考国外的3/5/10原则: (1)在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”; (2)在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”; (3)在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”; (4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去; 3、事务响应时间 事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间是直接衡量系统性能的参数. 4.并发用户数 并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。

WEB-Tours订票系统性能测试报告

WEB Tours订票系统性能测试报告 姓名: 班级: 学号: 指导老师:

目录 1 前言 (2) 2 被测系统定义 (4) 功能简介 (4) 性能测试指标............................. 错误!未定义书签。 3 系统结构及流程 (5) 系统总体结构 (5) 关键点描述 (5) 性能测试环境 (5) 4 性能测试 (5) 性能测试概述 (6) 测试目的 (6) 测试方法及测试用例....................... 错误!未定义书签。 测试指标及期望 (7)

测试数据准备 (8) 运行状况记录 (8) 5 测试过程及结果描述 (8) 测试描述 (9) 测试场景 (9) 测试结果 (13) 6测试分析和结论 (25)

1前言 目前,WEB Tours订票系统成功上线,从而航空公司的机票信息管理逐步走上了集中管控的道路,从而将会势必出现新业务系统中信息大量增长的态势。 随着新业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:大数据量的“冲击”,在多名用户信息进入时,系统能稳定在什么样的性能水平,面临公司业务冲刺时,系统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。 本报告前部分即是基于上述考虑,参考科学的性能测试方法而撰写的,用以指导即将进行的WEB Tours订票系统的性能测试。 2被测系统定义 WEB Tours订票系统作为本次测试的被测系统,该订票系统的主要功能包括:注册和登录用户信息,订票办理,退票办理,查询客户已订票信息等。在本次测试中,将针对上述的功能进行压力测试,检查并评估在模拟环境中,系统对负载的承受能力,在不同的用户连接情况下,系统地吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数,

web项目测试实战性能测试结果分析样章

w e b项目测试实战性能测试结果分析样章 Last revision on 21 December 2020

LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成功率、系统资源、网页细分图、Web服务器资源、数据库服务器资源等几个方面分析,如所示。性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向。我们回顾一下本次性能测试的目的,正如所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率、内存使用率分别不超过75%、70%,那么按照所示的流程,我们开始分析,看看本次测试是否达到了预期的性能指标,其中又有哪些性能隐患,该如何解决。 图5- 1性能测试结果分析流程图 结果摘要 LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,如所示。概要中列出了场景执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summary(HTTP响应摘要)”等。以简要的信息列出本次测试结果。 图5- 2性能测试结果摘要图 场景执行情况 该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如所示。从该图我们知道,本次测试从15:58:40开始,到16:29:42结束,共历时31分2秒。与我们场景执行计划中设计的时间基本吻合。 图5- 3场景执行情况描述图

Statistics Summary(统计信息摘要) 该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如所示。从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为842,037,409字节,平均每秒的吞吐量为451,979字节,总的请求数为211,974,平均每秒的请求为,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。 图5- 4统计信息摘要图 Transaction Summary(事务摘要) 该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如所示。从该图我们得到每个Action的平均响应时间与业务成功率。 图5- 5事务摘要图 HTTP Responses Summary(HTTP响应摘要) 该部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败,都在这里体现,如所示。从图中可以看到,在本次测试过程中LoadRunner 共模拟发出了211974次请求(与“统计信息摘要”中的“Total Hits”一致),其中“HTTP 200”的是209811次,而“HTTP 404”则有2163,说明在本次过程中,经过发出的请求大部分都能正确响应了,但还是有部分失败了,但未影响测试结果,“HTTP 200”表示请求被正确响应,而“HTTP 404”表示文件或者目录未能找到。有朋友可能会问,这里出现了404的错误,为什么结果还都通

WEB测试工作流程

WEB测试方法 在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。 本文将 web 测试分为 6 个部分: ? ? ? (包括负载/压力测试)? ? 用户界面测试? ? 兼容性测试? ? ? ? 接口测试 1

功能测试 链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。? 表单测试 当用户通过表单提交信息的时候,都希望表单能正常工作。 如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。如果使用表单收集配送信息,应确保程序能够正确处理这些数据,最后能让顾客收到包裹。要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。 当用户使用表单进行用户注册、登陆、信息提交等操作时,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,

web系统性能测试报告

web系统性能测试报告 1. 总述 1.1 测试对象 web系统 (数据库建表sql的版本是20060228-1) (程序代码的版本是20060310-1) 1.2 测试目的 确定系统支持的最大并发用户数 (系统的处理能力能达到2次请求/分钟) 1.3 测试环境 1.4 测试依据

1.5 参考资料 1.6 术语及缩写词 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 处理能力:在某一特定环境下,系统处理请求的速度。 cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。 用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一 天的工作时间来统计。 预期平均响应时间:由用户提出的,希望系统在多长时间内响应。注意,这个值并不是某一次访问的 时间,而是一段时间多次访问后的平均值。 最大并发用户数:在给定的预期平均响应时间下,系统最多能支持多少个并发用户。这个数据就是实 际可以同时使用系统的用户数。 1.7 计算公式 成功率=成功次数÷(成功次数+失败次数) 处理能力=成功次数÷测试时间 最短平均响应时间=MIN(平均响应时间) 最高处理能力=MAX(处理能力)×(1-cache影响系数)

性能测试方案

web项目性能测试方案 任务: 测试JBOSS环境下UBSS项目的性能 目标:测试缴费部分(前台缴费,IC卡充值)在并发数从50-100递增的性能指标,不要求对结果进行分析 步骤: 1.搭建测试环境,要求与真实环境大概一致(关注在现有license情况下,UBSS系统支持的最大并发数) 2.准备数据脚本(SQL和存储过程) 3.准备测试脚本(Vuser scrīpts,scenario) 4.进行性能测试 测试范围 针对UBSS项目,抽取对系统影响最大、最为典型的业务交易,构建场景,以此评判系统的整体性能和实际性能表现 a.用户前台缴费 b.标准用户IC卡充值 测试内容 1.基准测试 概念:检查每个业务的基准响应时间(系统整体空闲,无额外进程运行并占用系统资源)方法:单用户运行业务多次,获取该业务的平均响应时间 序号功能名称并发用户数循环次数操作间隔循环间隔 1-1 前台缴费 1 100 3 3 1-2 IC卡充值 1 100 3 3 2.单个交易负载测试 概念:设定负载序列,并发用户数为X{20,30,50,....},收集系统单个交易在不同负载级别的性能表现 方法:设置并发用户数等于X,关键步骤处设置并发点,每个用户运行N个iteration,获取平均响应时间和吞吐量 用户登陆方式:每2秒登陆2个 序号功能名称并发用户数循环次数操作间隔循环间隔 2-1 前台缴费 5 50 3 3 2-2 前台缴费10 50 3 3 2-3 前台缴费15 50 3 3 注:响应时间超过30S 2-4 前台缴费20 50 3 3 注:阻塞,不进行测试 2-5 IC卡充值 5 50 3 3 2-6 IC卡充值10 50 3 3 2-7 IC卡充值15 50 3 3 2-8 IC卡充值20 50 3 3 3.组合交易负载测试 概念:多个交易组合在一起,设定负载序列,并发数为X{20,30,50,....},收集系统在不同负载级别的性能表现 方法:设置并发总数,各用户数按比例分配,每个用户运行N分钟,获取平均响应时间和吞吐量 序号功能名称并发用户总数比例持续时间操作间隔循环间隔

web性能测试计划

XXXX性能测试

目录 1.文档介绍 (3) 1.1 文档目的 (3) 1.2 参考文献 (3) 1.3编写目的 (3) 2.性能相关描述 (3) 2.1性能测试指标 (3) 2.2性能测试范围 (3) 2.3 名词术语约定 (4) 3 测试环境 (5) 3.1生产环境系统架构 (5) 3.2测试环境系统架构 (6) 3.3 生产环境软硬件配置 (6) 3.4 测试环境软硬件配置 (6) 3.5 负载机软硬件配置 (7) 4.需求分析 (7) 4.1业务模型 (7) 4.2 性能指标 (8) 5 测试策略 (8) 5.1测试执行策略 (9) 5.2 测试监控策略 (9) 6测试场景 (10) 7测试准备 (10) 7.1测试工具准备 (11) 7.2测试脚本及程序准备 (11) 7.3测试数据准备 (11) 7.4测试环境准备 (11) 8测试组织架构 (12) 9项目风险 (12)

1.文档介绍 1.1 文档目的 本测试报告为XXX平台项目的性能测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合性能需求。 1.2 参考文献 1.3编写目的 从文档描述XXX发布系统性能测试的范围、方法、资源、进度,作为XXX发布系统性能测试的依据,该文档的目的主要有: 1、明确测试范围、测试对象 2、明确测试目标 3、明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求 4、确定测试方案,测试的方法和步骤 5、指定测试工作的时间安排 6、分析测试的风险,寻找规避办法 7、确定测试需求输出的结果和结果表现形式 2.性能相关描述 2.1性能测试指标 (1).基于XXX业务量的要求,评估XXX平台是否能满足性能要求 (2).进行配置测试,找到相对合理的测试 (3).对XXX进行定容定量,提供规划参考 (4).验证系统的稳定性,验证系统的容错能力 (5).测试并找到系统可能存在的性能问题,分析系统瓶颈 2.2性能测试范围 通过性能测试需求调研,分析用户使用行为.对系统的用户及业务数据量作了定量分析,性能测试将主要集中在表A-1中列出的业务过程. 表A-1 测试范围

范例(web系统性能测试报告)

***********系统性能测试报告 南海东软信息技术职业学院YYYY年MM月DD日

文档说明 本文档所涉及到的文字和图表,仅限开发方和需求方内部使用,未经开发方的书面许可,请勿扩散到任何第三方。

目录 1. 总述 (1) 1.1 测试对象 (1) 1.2 测试目的 (1) 1.3 测试环境 (1) 1.4 测试依据 (2) 1.1参考资料 (2) 1.2术语及缩写词 (2) 1.3计算公式 (2) 2. 测试方法 (3) 2.1 测试模型 (3) 2.2 测试过程简述 (3) 2.3 需记录的数据 (3) 3. 测试用例 (4) 测试编号:1 (4) 4. 测试结果 (5) 4.1 查看记录内容 .................................................. 错误!未定义书签。 5. 测试结果分析 (6) 6. 附件 (7) 6.1 原始数据和计算结果 (7)

《性能测试技术与实践》南海东软信息技术职业学院1. 总述 1.1 测试对象 web系统 1.2 测试目的 目的是在尽可能在模拟生产环境的前提下,实现以下目标: 测试交易线处理程序在生产环境的业务和用户量下,性能能否满足业务人员操作的需求; 模拟系统在生产能力峰值时的性能状况; 通过较长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突,从而修复体系中的薄弱环节。 发现性能瓶颈,为后期性能调优提供参考依据。 验证稳定性与可靠性:在一个生产负荷下执行测试一定的时间来评估系统稳定性和可靠性是否满足要求。 1.3 测试环境

相关主题