《应用WAS对web进行压力测试实例详解6863.docx》由会员分享,可在线阅读,更多相关《应用WAS对web进行压力测试实例详解6863.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、应用WAAS对wweb进进行压力力测试实实例详解解你的Weeb服务务器和应应用到底底能够支支持多少少并发用用户访问问?在出出现大量量并发请请求的情情况下,软软件会出出现问题题吗?这这些问题题靠通常常的测试试手段是是无法解解答的。本本文介绍绍了Miicroosofft为这这个目的的而提供供的免费费工具WWAS及及其用法法。另外外,本文文介绍了了一种WWeb应应用的性性能优化化方法,并并利用WWAS测测试了它它的性能能改善程程度。本文文介绍MMicrrosooft的的Webb Apppliicattionn Sttresss TTooll(WAAS,WWeb应应用负载载测试工工具)在在Webb服务
2、器器性能测测试中的的应用(注注:Sttresss基本本含义为为“重压压;压力力”等,本本文称之之为“负负载”)。另另外,我我们还将将通过WWAS评评估一种种相对简简单的网网站性能能改善方方法,这这种方法法的基本本思想是是在服务务器上生生成静态态的HTTML页页面、避避免过多多的数据据库调用用。 要对对网站进进行负载载测试首首先必须须创建WWAS脚脚本模拟拟用户活活动。我我们可以以用下面面四种方方法之一一创建脚脚本:通通过记录录浏览器器的活动动;通过过导入IIIS日日志;通通过把WWAS指指向Weeb网站站的内容容;或者者手工制制作。图图1所显显示的是是通过记记录浏览览器事件件生成的的脚本的的一
3、部分分,网站站是Miicroosofft的DDuwaamissh BBookk Sttoree。Duuwammishh是Miicroosofft开发发的电子子商务WWeb应应用示例例,从DDuwaamissh网站站的“PPhasse 44”链接接可以下下载这个个软件包包。下载载包中包包含了它它自己的的WASS测试脚脚本。 【图1】 通过记记录浏览览器事件件生成的的脚本制作作WASS脚本是是相当简简单的,不不过要制制作出模模拟真实实用户活活动的脚脚本有点点儿复杂杂。如果果你已经经有一个个运行的的Webb网站,可可以使用用Webb服务器器的日志志来确定定Webb网站上上的用户户点击分分布。如如果你
4、的的应用还还没有开开始运行行,那么么只好根根据经验验作一些些猜测了了。 图11这个脚脚本中我我们假定定有300个会员员在浏览览书店,同同时又有有一个会会员正在在购买。要要模拟两两者混合合而成的的行为,首首先必须须创建页页面组并并在脚本本的Paage Grooup分分枝确定定点击分分布情况况。在PPagee Grroupp分枝中中我们可可以增加加、修改改或删除除页面组组,也可可以为各各个组修修改流量量的分布布。 图22显示了了grpp_brrowsse和ggrp_buyy这两个个页面组组以及330比11的流量量分布。 【图2】ggrp_broowsee和grrp_bbuy这这两个页页面组以以及3
5、00比1的的流量分分布创建了页页面组之之后,我我们就可可以在主主脚本视视图中赋赋予各个个请求不不同的页页面组,如如图3所所示。为为每个请请求指定定页面组组相当于于告诉WWAS如如何分布布流量。记记住在本本例中对对grpp_buuy组页页面的请请求约占占总数的的3%,而而对grrp_bbrowwse组组页面的的请求约约占977%。 【图3】每每个请求求指定页页面组相相当于告告诉WAAS如何何分布流流量如果果需要在在查询字字符串中中传递“名名字-值值”对,可可以用WWAS的的查询字字符串编编辑器来来定义各各个变量量的所有有可能的的值。在在输入变变量值后后,既可可以要求求WASS顺序地地使用变变量的
6、各各个值,也也可以要要求WAAS在请请求时随随机选择择变量值值。这在在一定程程度上增增加了脚脚本所模模拟行为为的真实实性,也也可以帮帮助避免免缓冲对对测试结结果的影影响准备备好测试试脚本之之后,我我们可以以调整测测试配置置以便观观察不同同条件下下的应用用性能。图图4是WWAS的的设置界界面。【图4】WWAS的的设置界界面Streess Levvel和和Strresss muultiipliier这这二个项项决定了了访问服服务器的的并发连连接的数数量。MMicrrosooft建建议不要要选择超超过1000的SStreess Levvel值值。如果果要模拟拟的并发发连接数数量超过过1000个,可可
7、以调整整Strresss muultiipliier或或使用多多个客户户机。在在负载测测试期间间WASS将通过过DCOOM与其其他客户户机协调调。有关关在测试试中使用用多个客客户机的的更多信信息,参参见htttp:/m/kbb/hkkb133.httm。 如果果网站提提供个性性化服务务,要进进行身份份验证或或使用CCookkiess,我们们还要为为WASS提供一一个用户户目录。WWAS中中的用户户存储了了发送给给服务器器的密码码以及服服务器发发送给客客户端的的Coookiees。增增加用户户数量并并不增加加Webb服务器器的负载载。必须须提供足足够数量量的用户户以满足足并发连连接的要要求(SS
8、tessss Levvel乘乘以Sttresss MMulttipllierr)。有有关线程程、用户户、Coookiies相相互作用用的更多多信息请请参见hhttpp:/webbtoool.rrte.miccrossoftt.coom/TThreeadss/WAASThhreaads.htmm。 WAAS允许许设置wwarmmup(热热身)时时间,一一般可以以设置为为1分钟钟。在wwarmmup期期间WAAS开始始执行脚脚本,但但不收集集统计数数据。wwarmmup时时间给MMTS、数数据库以以及磁盘盘缓冲等等一个机机会来做做准备工工作。如如果在wwarmmup时时间内收收集统计计数据,这这些
9、操作作的开销销将影响响性能测测试结果果。 设置置页面提提供的另另外一个个有用的的功能是是限制带带宽(tthroottlle bbanddwiddth)。带带宽限制制功能能能够为测测试模拟拟出Moodemm(144.k K,228.88 K,556 KK)、IISDNN(644 K,1128 K)以以及T11(1.54 M)的的速度。使使用带宽宽限制功功能可以以精确地地预测出出客户通通过拨号号网络或或其他外外部连接接访问WWeb服服务器所所感受的的性能。 要理理解这些些不同的的设置对对应用的的影响,有有必要了了解如何何使用WWAS收收集性能能数据。使用WAS,从远程Windows NT和Wind
10、ows 2000机器获取和分析性能计数器(Performance Counter)是很方便的。加入计数器要用到图5所示的Perf Counters分枝。【图5】PPerff Coountterss分枝在测测试中选选择哪些些计数器器显然跟跟测试目目的有关关。虽然然下面这这个清单单不可能能精确地地隔离出出性能瓶瓶颈所在在,但对对一般的的Webb服务器器性能测测试来说说却是一一个好的的开始。 处理器器:CPPU使用用百分比比(% CPUU Uttiliizattionn) 线程:每秒的的上下文文切换次次数(CConttextt Swwitcchess Peer SSecoond (Tootall))
11、 ASSP:每每秒请求求数量(RRequuestts PPer Seccondd) ASPP:请求求执行时时间(RRequuestt Exxecuutioon TTimee) ASPP:请求求等待时时间(RRequuestt Waait Timme) ASSP:置置入队列列的请求求数量(RRequuestts QQueuued) CPPU使用用百分比比反映了了处理器器开销。CCPU使使用百分分比持续续地超过过75%是性能能瓶颈在在于处理理器的一一个明显显的迹象象。每秒秒上下文文切换次次数指示示了处理理器的工工作效率率。如果果处理器器陷于每每秒数千千次的上上下文切切换,说说明它忙忙于切换换线程而
12、而不是处处理ASSP脚本本。 每秒秒的ASSP请求求数量、执执行时间间以及等等待时间间在各种种测试情情形下都都是非常常重要的的监测项项目。每每秒的请请求数量量告诉我我们每秒秒内服务务器成功功处理的的ASPP请求数数量。执执行时间间和等待待时间之之和显示示了反应应时间,这这是服务务器用处处理好的的页面作作应答所所需要的的时间。 置入入队列的的ASPP请求数数量也是是一个重重要的指指标。如如果在测测试中这这个数量量有波动动,某个个COMM对象所所接收到到的请求求数量超超过了它它的处理理能力。这这可能是是因为在在应用的的中间层层使用了了一个低低效率的的组件,或或者在AASP会会话对象象中存储储了一个
13、个单线程程的单元元组件。运行WAS的客户机CPU使用率也有必要监视。如果这些机器上的CPU使用率持续地超过75%,说明客户机没有足够的资源来正确地运行测试,此时应该认为测试结果不可信。在这种情况下,测试客户机的数量必须增加,或者减小测试的Stress Level。 每次次测试运运行结束束后WAAS会生生成详细细的报表表,即使使测试被被提前停停止也一一样。WWAS报报表可以以从Viiew菜菜单选择择Repportts查看看。下面面介绍一一下报表表中几个个重要的的部分。 如果果这是一一个新创创建的测测试脚本本,你应应该检查查一下报报表的RResuult Coddes部部分。这这部分内内容包含含了请
14、求求结果代代码、说说明以及及服务器器返回的的结果代代码的数数量。如如果这里里出现了了4044代码(页页面没有有找到),说说明在脚脚本中有有错误的的页面请请求。 页面面摘要部部分提供供了页面面的名字字,接收收到第一一个字节节的平均均时间(TTTFBB),接接收到最最后一个个字节的的平均时时间(TTTLBB),以以及测试试脚本中中各个页页面的命命中次数数。TTTFB和和TTLLB这两两个值对对于计算算客户端端所看到到的服务务器性能能具有重重要意义义。TTTFB反反映了从从发出页页面请求求到接收收到应答答数据第第一个字字节的时时间总和和(以毫毫秒计),TTTLBB包含了了TTFFB,它它是客户户机接收收到页面面最后一一个字节节所需要要的累计计时间。 报表表中还包包含了所所有性能能计数器器的信息息。这些些数据显显示了运运行时各各个项目目的测量量值,同同时还提提供了最最大值、最最小值、平平均值等等。报表表实际提提供的信信息远远远超过了了我们这这里能够够介绍的的内容。为为了给你你一个有有关表所所提供信信息种类类的印象象,图66摘录了了一个报报表实例例。 【图6】一一个报表表实例