vs2005自带网站压力测试_第1页
vs2005自带网站压力测试_第2页
vs2005自带网站压力测试_第3页
vs2005自带网站压力测试_第4页
vs2005自带网站压力测试_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vs2005 自带网站压力测试(vsts)VSTS提供了一个丰富、强大的工具平台,融合了软件开发领域的各个角色,涵盖软件开发生命周期的各个阶段,包括设计,开发,测试,管理,而这一整套构件的融会贯通,让它可以有效地改善软件开发过程中各个阶段的弊端,提高团队之间不同的角色的协调能力,提高工作效率。本文就简单介绍一下如何利用VSTS给一个网站做压力测试。1建立一个测试项目,起名MyTest,口1X|FileEditViewTestToolsWindowCommunityHelpIITl依雪火困口二wlAl事第三言|口卓丁WStartPage-MicrosoftVisualStudio2建立一个Web

2、TestMyTest-MicrosoftVisualStudioFileEdi:ViewProjectBuildDebugDataTestToolsWindowCommunityHelp为U3/J一DebugReadySolutionExplorer-MyTest五停火困J*豆平XSolutionMyTest(1project)-I./SolutionItems&localzestrun.testrunconfigIlMyTest,v5mdi豆aRefreshBuildRebuildCleanRunCodeAnalysisAddJNewTest.AddReference.NewItem

3、.AddWebReference.臼ExistingItem.AViewClassDiagram卜一NewFolderSetasStartupProject4LoadTest.DebugWebTest.AddSolutiontoSourceControl.ManualTest(Wordformat)ACut*13OrderedTest心PasteGenericTestXRemove国WindowsForm.Rename蜀UserControl.VMM.;UnloadProjectProperties*Component.,Class.点击WebTest.IE马上就会弹出一个窗口,这样录制脚本工

4、作就可以开始了。3在IE里输入要测试的网站地址:比如http:/localhost/WebSite/Default.aspx4对该网站做一些操作,此时VSTS会纪录下你的这些操作,用以作为压力测试的场景5录制脚本毕,点击STOP6点击生成代码,可以看到刚才录制的类似如下的代码:/Thiscodewasgeneratedbyatool./RuntimeVersion:2.0.50727.42/Changestothisfilemaycauseincorrectbehaviorandwillbelostif/thecodeisregenerated.II/namespaceMyTest儿using

5、System;ILrri噩usingSystem.Collections.Generic;usingSystem.Text;usingMicrosoft.VisualStudio.TestTools.WebTesting;usingMicrosoft.VisualStudio.TestTools.WebTesting.Rules;publicclassWebTest1Coded:WebTestpublicWebTest1Coded()this.PreAuthenticate=truepublicoverrideIEnumeratorGetRequestEnumerator()WebTestRe

6、questrequest1=request1.ThinkTime=1688;ExtractHiddenFieldsrule1=rule1.ContextParameterName=1request1.ExtractValues+=yieldreturnrequest1;newWebTestRequest(http:/localhost/WebSite/Default.aspx);newExtractHiddenFields。;newEventHandler(rule1.Extract);WebTestRequestrequest2=request2.ThinkTime=2;newWebTest

7、Request(http:/localhost/WebSite/Default.aspx);=POST;FormPostHttpBodyrequest2Body=newFormPostHttpBody();request2Body.FormPostParameters.Add(_VIEWSTATE,this.Context$HIDDEN1._VIEWSTATE.ToString();request2Body.FormPostParameters.Add(Button1,GotoTestPage);request2Body.FormPostParameters.Add(_VIEWSTATEENC

8、RYPTED,this.Context$HIDDEN1._VIEWSTATEENCRYPTED.ToSrequest2Body.FormPostParameters.Add(_EVENTVALIDATION,this.Context$HIDDEN1._EVENTVALIDATION.ToString();request2.Body=request2Body;ExtractHiddenFieldsrule2=newExtractHiddenFields();rule2.ContextParameterName=1;request2.ExtractValues+=newEventHandler(r

9、ule2.Extract);yieldreturnrequest2;WebTestRequestrequest3=newWebTestRequest(http:/localhost/WebSite/test.aspx);request3.Method=POST;FormPostHttpBodyrequest3Body=newFormPostHttpBody();request3Body.FormPostParameters.Add(_VIEWSTATE,this.Context$HIDDEN1._VIEWSTATE.ToString();request3Body.FormPostParamet

10、ers.Add(Button1,Gotodefaultpage.);request3Body.FormPostParameters.Add(_EVENTVALIDATION,this.Context$HIDDEN1._EVENTVALIDATION.ToString();request3.Body=request3Body;yieldreturnrequest3;7添加一个LoadTest.tring();ILrLILIrLriirj_aMyTest-MicrosoftVisualStudioJnJxJFileEditViewProjectBuildDebugDataTestToolsWind

11、owCommunityHelpDebug:口动&羽口药口医口声WebTestlCoded.cs*SolutionExplorer-MyTest用MyTest.WebTestlC二JSGetRequestEnumerThiscodewasgeneratedbyatooRuntimeVersion:2.0.50727.42嗣管同修SolutionMyTest,(1project)日SolutionItems&localtestrun.testrunconfig匕3MyTest.vsmdiChangestothisfilemaycauseithecodeisregenerated.7

12、auto-generated)MyTenamespaceMyTest4ReadyusingusingusingusingusingSystem;System.Collections.Generic;System.Text;Microsoft-VisualStudio.TestToMicrosoft.VisualStudio.TestTopublicclassWebTestlCoded:WebTespublicWebTestlCodedOthis.PreAuthenticate=truepublicoverridelEnumeratorebWebTestReques*requestl=nrequ

13、estl.ThinkTime=1688;ExtractHiddenFieldsrulel=rulel.ContextParameterNamerequestl.ExtractValues+=nyxeldreturnrequestl:PrRt七七-GWWNewTest.NewItem.ExistingItem.NewFolderLjLoadTest.WebTest.3司口LUManualTest(Wordformat)OrderedTestGenericTestWindowsForm.UserControl.Component.Class.8填写好LoadTest的各项参数1)第一步是填写场景名

14、2)第二步是填写装载的样式如果选择一次装载固定的用户数,选择第一项ConstantLoad如果选择SetpLoad,表示步增,设置好开始时的用户数,以及经过多久每次增加的用户数3) TestMix4) BrowserMix5) NetworkMix6)在CounterSets选择AddCompuer,表示要对某个PC进行监控7)RunSettings9点击Finish10点击RunTest,测试就开始了压力测试运行后,我们就可以选中某个参数,查看某个时刻机器个方面的性能。参看下图:Counters土dOverallScenario13CorrputersXj3INSU-WORKBL_|Memo

15、ryI%CommittedBytesInUse/IAvailableMBytesIPageFaults/sec_jPages/secIPoolNonpagedBytesIPoolPagedBytes/iJNetworkInterface+PhysicalDisk臼_JProcessjd%PrivilegedTime.1%ProcessorTime一,devenvdVSTestHost司乙J%UserTime田_JHandleCountScJPrivateBytes用_ThreadCount_VirtualBytesSt_JWorkingSetBidProcessorEl二J%Privilege

16、dTimed.Total-i_J%ProcessorTimed.Total田J%UserTime田_JSystem图.IErrcrs%Pr.Time06:3506:4006:4506:5006:5507:0007:0507:1007:1507:2007:2507:3007:3507:4007:4507:5007:5508:0008:0508:1008:1508:2008:2508:3008:3508:4008:4508:5008:5509:0009:0509:1009:15CounterInstanceCategoryComputerColorRangeMinMaxAvgLast3Reques

17、ts/Sec_TotalLoadTe.BINSU-W.一10.000.200.020.000Avg.ResponseTime.TotalLoadTe.BINSU-W.一一10.010.860.10.3%CommittedBytesIn.MemoryBINSU-W.10042.744.643.644.40%PrivilegedTimeJotalProcessorBINSU-W.1002.5O%ProcessorTime_TotalProcessorBINSU-W.1003.854.414.511.90%ProcessorTimedevenvProcessBINSU-W.100

18、0.930.03.86.9Graph:Default我们也可以运行perfmon,通过Performance查看机器的各项指标。(转http:/ .选中测试项目,右键“添加-负载测试”弹出欢迎页面,点击“下一步”弹出如下图页面:输入测试方案名,选择思考时间的配置文件。思考时间是模拟用户从打开页面到执行操作之间的时间。2 .点击下一步,为测试方案编辑负载模式设置单击分步负载”单击下一步”3 .向方案中添加测试下一步是向负载测试方案中添加测试并编辑测试组合单击添加”选择测试。单击可用测试”窗格中的测试,再单击箭头将测试添加到开始用户计数”设置为10个用户。单步持续时间”设置为10秒。单步用户计数”

19、设置为10个用户/步。最大用户计数”设置为100个用户。)vs2005负载测试技走划分,计数集中有不同的计数器,设置每个计选定的测试”窗格中添加完测试后,单击确定”。随即出现测试组合。可以使用滑块来调整测试分发。将滑块调整到首选组合后,单击下一步4 .为测试方案选择浏览器组合从下拉列表中选择IE6浏览器,将其添加到组合中。还可以添加其他浏览器。使用滑块来调整测试分发和权重。单击下一步为测试方案选择网络组合选择局域网连接类型以添加到网络带宽组合中。还可以添加其他网络类型。使用滑块来调整测试分发和权重。单击下一步”5 .指定在负载测试运行期间要使用计数器集监视的计算机通过单击添加计算机”选择要在测

20、试运行期间监视的计算机,并键入承载您前面确定的非生产网站的服务器的名称。通过添加主机名称,可以收集负载测试中重要的性能信息。(在监视的每个服务器上,都必须具有足够的用户权限以运行性能监视器。否则,将生成错误。)可以为承载站点的SQL数据库的计算机添加一个单独的项。如果选择不添加任何计算机,则只有本地负载计数器会添加到测试中。选择要监视的计数器集。将显示一组预定义的计数器集,它们用于向负载测试中添加特定的性能监视器。如果所测试的站点在ASP.net服务器上运行,则请在“ASP.net”和“IIS选择框中为此测试放选中标记。单击下一步6 .编辑负载测试的运行设置将运行持续时间”设置为2分钟,以便对

21、负载测试执行冒烟测试。生成Web测试和负载测试时,最好通过运行一个短暂的小负载测试来验证是否一切都已正确配置并可按预期运行。此过程称为冒烟测试。单击完成”。将在负载测试编辑器”中打开负载测试。7 .运行负载测试在负载测试编辑器”中打开一个负载测试,再单击绿色的运行”按钮。负载测试开始运行。若要使可查看区域最大化,请从VisualStudio菜单中单击视图”,再单击全屏显示”。如果测试模拟超过所有阈值,则树控件节点中将出现图标,以指示阈值冲突。错误上覆盖着红色圆圈,而警告上覆盖着黄色三角形。可以找出超过阈值的计数器,然后通过将图标拖动到关系图上来绘制该计数器。可在测试运行期间进行此操作。通过观察

22、图例中的计算机”列,可以确定其所在的计算机。如何设置计数器,计数器,以及如何设置阈值。1.有三种计数器类别:百分比、计数和平均数。这三种计数器类别的例子分别为:CPUusage”(CPU使用百分比)、“SQLServerlockcounts(SQLServer锁计数)和IISrequestspersecond(每秒的IIS请求数)。2.计数器集:将正在测试的服务器添加到需要收集其计数器的计算机的列表中,这一点很重要。这样就可以在负载测试期间收集和监视任何重要的系统数据。3.阈值:比较常数:将性能计数器的值与一个常数值进行比较。比较计数器:将一个性能计数器的值与另一个性能计数器的值进行比较如果超

23、过则发出警报:将如果超过则发出警报”属性设置为“True”,可指示超出阈值将出现问题。例如,如果对ProcessorTime(处理器时间百分比(%)设置阈值规则,并且希望值大于90时收到警报,请使用比较常数”规则类型,将临界阈值”设置为90,并将如果超过则发出警报”设置为“True。将如果超过则发出警报”属性设置为“False,可指示低于阈值将出现问题。例如,如果对“Requests/Sec(请求/秒)设置阈值规则,并且希望值低于50时收到警报,请使用比较常数”规则类型,将临界阈值”设置为50,并将如果超过则发出警报”设置为“False”4 .指定计数器集:在负载测试向导”的计数器集”页上,会

24、在预览选定内容”窗格中看到现有计数器集。还会显示默认项,包括负载测试计数器集;默认情况下,负载测试计数器集由控制器收集。(可选)单击添加计算机”添加一个新的要监视的计算机。系统会提示您输入名称。键入名称,将在这一新项下看到一些节点,可以选择这些节点。例如,“ADO.NET、“IIS、”“SQL等。选中要选择的节点前面的复选框。新的计数器将出现在预览选定内容”窗格中。选择了计数器集之后,单击下一步”可前进到负载测试向导”的运行设置”页。如何分析测试结果包括每秒钟的请求数、失败请求的总数、平均响应时间以及平均页面时间。如何设置sql数据数据存储。将收集性能计数器数据并将其存储在负载测试结果存储区中

25、1 .在运行SQLExpress的本地服务器上创建数据库表cdn:ProgramFilesMicrosoftVisualStudio8Common7IDESQLCMD/Slocalhostsqlexpress/iloadtestresultsrepository.sqlSQL服务器不在本地机:SQLCMD/SContosoServer1-iloadtestresultsrepository.sql或SQLCMD/SContosoServer1-U-P-iloadtestresultsrepository.sql2 .在测试”菜单上,单击管理测试控制器将显示管理测试控制器”对话框3 .在负载测试

26、结果连接字符串”中,单击浏览按钮()以显示连接属性”对话框。4 .在服务器名称中,键入localhostsqlexpress或您在第2步中使用的服务器的名称(例如ContosoServer1)。5 .在登录到服务器”下,选择使用Windows身份验证”。6 .在连接到一个数据库”下,选择选择或输入一个数据库名。从下拉列表框中选择LoadTest。单击确定”。7 .在管理测试控制器”对话框中单击关闭”。安装 sqlserversqlserver20052005reportingservicereportingservice安装成功后,在数据库中有2个数据库reportserver和reports,在iis中自动配置2个虚拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论