Web性能测试方案_第1页
Web性能测试方案_第2页
Web性能测试方案_第3页
Web性能测试方案_第4页
Web性能测试方案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

Web性能测试方案1测试目的此处论述本次性能测试的目的,包括必要性分析与扩展性描述。性能测试最要紧的目的是查验当前系统所处的性能水平,验证其性能是不是能知足以后应用的需求,并进一步找出系统设计上的瓶颈,以期改善系统性能,达到用户的要求。2测试范此处要紧描述本次性能测试的技术及业务背景,和性能测试的特点。编写此方案的目的是为云应用产品提供web性能测试的方式,因此方案内容要紧包括测试环境、测试工具、测试策略、测试指标与测试执行等。测试背景以云采业务为例,要知足用户在互联网集中采购的要求,实际业务中通过云采平台询报价、下单的频率较高,因此云采平台的性能直接决定了业务处置的效率,并能够支撑业务并发的压力。例如:支撑100家企业用户的集中访问,和业务处置要求。性能气宇指标响应时刻(TTLB)即“timetolastbyte”,指的是从客户端发起的一个请求开始,到客户端接收到从效劳器端返回的响应终止,那个进程所花费的时刻,响应时刻的单位一样为“秒”或“毫秒”。响应时刻二网络响应时刻+应用程序响应时刻。响应时刻标准:序号时间度量标准结果1小于2s优2介于2s-5s良3介于5s-8s一般4大于8s差事务能力TPS(transactionpersecond)效劳器每秒处置的事务数;一个事务是指一个客户机向效劳器发送请求然后效劳器做出反映的进程。客户机在发送请求时开始计时,收到效劳器响应后终止计时,一次来计算利用的时刻和完成的事务个数。它是衡量系统处置能力的重要指标。并发用户数同一时刻与效劳器进行交互的在线用户数量。吞吐率(Throughput)单位时刻内网络上传输的数据量,也可指单位时刻内处置的客户端请求数量,是衡量网络性能的重要指标。吞吐率=吞吐量/传输时刻资源利用率那个地址要紧指CPU利用率(CPUutilization),内存占用率。3测试内容此处对性能测试整体打算进行描述,包括测试内容和关注的性能指标。Web性能测试内容包括:压力测试、负载测试、前端连接测试。负载测试负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别能够是某个时刻同时访问Web系统的用户数量,也能够是在线数据处置的数量。例如:Web应用系统能许诺多少个用户同时在线?若是超过了那个数量,会显现什么现象?Web应用系统可否处置大量用户对同一个页面的请求?负载测试应该安排在Web系统发布以后,放在Internet上同意负载测试。压力测试在必然饱和状态下系统的处置能力,在负载测试的基础上,继续加压到一按时期即是压力测试。压力测试通常设定cpu利用率达到75%以上,内存利用率达到70%以上,用于测试系统在压力环境下的稳固性。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也确实是测试Web应用系统会可不能崩溃,在什么情形下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统从头启动时取得存取权。前端连接测试用户连接到Web应用系统的速度依照上网方式的转变而转变,他们或许是拨号,或是宽带上网。当下载一个程序时,用户能够等较长的时刻,但如果是仅仅访问一个页面就可不能如此。若是Web系统响应时刻太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,若是响应速度太慢,用户可能还没来得及阅读内容,就需要从头登岸了。而且,连接速度太慢,还可能引发数据丢失,利用户得不到真实的页面。以上需要关注的前端性能指标,要紧包括以下三个指标:加载时刻指标toFirstImpression表示从用户在阅读器键入URL按下回车键一刻开始,到页面开始有反映(用户能够在页面中看见一点点内容)为止。直观信号确实是开始显示title。toonLoadEvent表示从页面开始显示内容,到阅读器开始触发OnLoad函数(开始执行js)这一时刻段。只有当初始的文本和所引用的对象加载完成,阅读器才开始触发OnLoad函数toFullyLoaded表示从上一时刻段末到整个网页完全加载完成(所有OnLoad函数和相关的动态资源加载完成)。资源情形指标网页由初始的html文本中嵌入图片和通过XHR或修改dom树动态加载的内容组成,css负责样式,js负责行为。TotalNumberofRequests包括html网页请求,css、js资源下载及其它网络请求。优化的目标之一是要尽可能减少请求数。TotalNumberofHTTP300s/400s/500s表示返回状态为300(重定向)、400(客户端错误)、500(效劳器端错误)的http请求。尽可能幸免这些请求,以提高页面load的时刻。造成这些状态的缘故常常是效劳器的实施、配置和部署问题。TotalSizeofWebSite组成网页元素总的大小。图片或js库的增加都会对下载时刻造成重要的阻碍。TotalSizeofImages/CSS/JSimage、css、js在网页元素大小中占要紧比例。TotalNumberofXHR(XMLHttpRequest)Requests通过js异步从效劳器端取得数据的请求数。一些js框架提供了跟效劳器端的更新机械,确实是XHR请求。通过配置能够减少XHR请求的数量。网络连接指标阅读器底层的网络连接对资源的下载速度有专门大阻碍。资源的下载进程分为很多时期。下面介绍这些时期和阅读器、网络、请求如何阻碍这些时期的时刻。DNSTimedns查询的时刻。网页请求会产生一次寻觅该网页资源所在主机的dns查询。在同个域名进行网页切换可不能造成新的dns查询。ConnectTime指阅读器和效劳器之间成立tcp/ip连接的时刻,关于ssl连接包括握手的时刻。网络连接过慢、利用ssl、利用短连接而超级连接都是造成connecttime较多的缘故。ServerTime指收到请求后效劳器逻辑处置的时刻,TransferTime这一指标与阅读器和效劳器之间的连接速度相一致,通过减小传输内容或利用cdn来降低TransferTime。WaitTime等待时刻和同一个域中效劳资源的数量直接相关。每一个域的阅读器的物理网络的限制,致使资源等待可用的连接。减少资源的数量,或将资源散布在不同的域,能将这一时刻降低。平均等待时刻的大小更能反映等待时刻是不是需要注意、。NumberofDomains/SingleResourceDomains部署网站资源的域主机数量是很重要的,因为它阻碍的DNS,连接和等待时刻。专门用户资源下载的域是必要的,他将直接减少等待时刻。应幸免单一的资源域,不然你将为dns查询和资源下载付出昂贵的代价。4测试执行此处包括性能测试的软硬件环境预备,所需测试工具与测试步骤。环境与数据预备负载测试主机数量配置详情操作系统数据库中间件测试工具监控工具压力测试主机数量配置详情操作系统数据库中间件测试工具监控工具前端连接测试测试步骤与测试结果输出负载测试测试工具JmeterApacheJMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它能够用于测试静态和动态资源,例如静态文件、Java、CGI脚本、Java对象、数据库、FTP效劳器等等。测试步骤成立测试打算启动jmeter后,jmeter会自动生成一个空的测试打算,用户能够基于该测试打算成立自己的测试打算。添加线程组一个请求负载是基于一个线程组完成的。一个测试打算必需有一个线程组。测试打算添加线程组超级简单。在测试打算右键弹出下拉菜单(添加—>Threads(Users)>线程组)当选择线程组即可。jmeter中每一个测试打算至少需要包括一个线程组,固然也能够在一个打算中创建多个线程组,那么多个线程组之间又会如何的顺序执行(串行仍是并行)?在测试打算下面多个线程是并行执行的,也确实是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。

ApscheJMeter;2.8rl^93162^O□Id4-tearDovjnThreadGroup文件镰辑S&arcti运畅选项帮他孤測试ApscheJMeter;2.8rl^93162^O□Id4-tearDovjnThreadGroup文件镰辑S&arcti运畅选项帮他孤測试B工柞已哋一山还U口的出1云添加bThreads-({Js^rs^ResetSueC&1VTesTFragnient卜暫置元件►setupThreadGroup绒程属性Ramp-UpPerk>d1mseconds};1倆开次勲□去远]DelayThreadcreationuntilneeded叵過蛊器线程组要紧包括三个参数:线程数、预备时长(Ramp-UpPeriod(inseconds))、循环次数。线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在那个地址也确实是设置多少个线程数。预备时长:设置的虚拟用户数需要多长时刻全数启动。若是线程数为20,预备时长为10,那么需要10秒钟启动20个线程。也确实是每秒钟启动2个线程。循环次数:每一个线程发送请求的次数。若是线程数为20,循环次数为100,那么每一个线程发送100次请求。总请求数为20*100=2000。若是勾选了“永久”,那么所有线程会一直发送请求,一到选择停止运行脚本。设置合理的线程数关于可否达到测试目标有决定性的阻碍。在本例中,要求取得网站首页在20QPS负载情形下的响应时刻,若是若是线程数量设置的过小,那么极可能无法达到设定的QPS要求。另外,设置合理的循环次数也很重要,除上面介绍的固定循环次数与永久外;也能够灵活的选择设定测试运行时刻。勾选“调度器”,进行调度器配置。添加HTTP请求添加完成线程组后,在线程组上右键菜单(添加>Sampler>HTTP请求)选择HTTP请求。关于jmeter来讲,取样器(Sampler)是与效劳器进行交互的单元。一个取样器通常进行三部份的工作:向效劳器发送请求记录效劳器的响应数据记录相应时刻信息0測试计划匸童富圍工作台线程组渤I】►逻辑建制器0測试计划匸童富圍工作台线程组渤I】►逻辑建制器►Ctri-X旣置兀件►复制CM-C疋时器►Ctri-V前蛙妙9里器►duplicateCM+Ghlft-CSampler卜ResetGui后置处理器►刪除断言►监昕器►「—□』永远保存为h・*marlAccessLogSamplerAJP/1.3SamplerSamp-lerB5FSamplerDebugSamplerFTPi育我帀TP歸[www^lltestirigTn^tl设置QPS限制本次性能测试的目的是“了解云采首页在负载达到20QPS时的响应时刻”,因此需要操纵向云采首页发送请求的负载为20QPS。QPS:QueryPerSecond每秒查询率。是一台查询每秒能够处置的查询次数。在因特网上,作为域名系统的机械的性能常经常使用每秒查询率来衡量。压力测试测试工具UAPRunnerUAPRunner是一款面向树形数据结构,模拟用户(UAPRunner中表示为虚拟用户)通过阅读器访问B/S架构和UAP平台系统的行为、实现向效劳器端发送请求及对效劳器端发还的响应进行处置的工具。利用UAPRunner能够实现对Web轻量级和基于UAP平台的性能负载测试,通过模拟上万的用户实施并发负载。测试步骤1.下载安装uaprunner配置UAPRunner3.录制并生成脚本XUAPRumnerXUAPRumner-协设工具结果扳告日志语言译计r甬1用側數场q■1=1{RumniErWorkspalb}defaultfCj{AnayLlst;cases?[wii{Casel^uncail=l{String:'repla/Name^uncai日{StringJrecordFlle=3/Lincai.dat3{Link€dHashiFilap}param@t@rl-l{HaalilFilap'ivsariable®-JI{CaseType)isaseTypeJ■{suing;'name=yuncai1二1〔Stringl1description=nullai1{ReplayCdnfiaurationJ-replayConfig{Arra^LlstJflov/s:-±{AnrayList;scqhqgArrayLisi}yuncaif□匸{W&bPacket}ListEIBmen1[B||GET!Apu/logineEZ{WGDRGquoiGt}reqU*■匚{WebRespouse}responseI{BocH&ainJselecledtralse4亡{PackfrtTj^pG}type{String}tra.nscatiDnPJame-={Boolean}刍ssocisted=-faIse-HI{ArrayLlist}checkPoinls4.创建用例流、场景量制帥i口iRiannerWorkspa1Z{Afi^-rLisuJcaaE■!ArraTList;■ficaiZ{ArraYLisI)ei匚日J血扫uHsesrrirn术^(AnwUStlflBB■>[13B{WeE]Packet}Llst£lemanq:D]POSTrecpJsMunUlDgln.json<111>4回闫{WefcPackel}LIsElemenli]GET臥p/hlml旳曲4回口{WobPsckec:•UsElflmenlI2]GETcru'consolaJnennichildren.json忌-匠]匚j{VVebPacket}Li^tEIgmenG]GETise匚BREponmn阻匚0口口河门门巾酊11囲引切&七也12『.1口1a回匚」{VVebPackelJLiaElement(4]GETferptomponenUerpitnMmonilaf^QritBJErcyjsfcDnlenttpJa回l_l{WetPacket;■LlstElement[5]GETi!ecp/componenUeDpytDmmonil^rlteJsrDjSi^ucKss.tpl录制啊Q=(倆仙)离他川1aIS(Aimytistj-c&GQfi4~i[ArraytJstHI&ws4•:AITftyti<8t's■=:.--pi'ip-::|打开目录?1[ArrayLlsl)BBQ*世._I■[WebPacketjLjstElement[Ci:POST.!EEpfaccDunl'login.|san*111>4|^.I{WebPachetJListElementfl)GET^ecpititinlJindEXhtrnlIZ■I{.WebPachef]ListElement[2]GET/ecpWtDnEDleJmenLUchllilren.jsanIZ~1{S^/ebPscHefJListElement[3]GET/ecpitDmpDnenLiecp/eamman^anneD^rdjs^annertplE~i{V/ebPacnei)LjgtEiemenii^]get葩cp把coponEnUEcp昨mmon胸财ne/s血引sm巴m.lpi编辑事务6.参数化r{ArrayList}B0S?创匚J<WebPacket}Lis-tElernenlfO]POST用匚pfmccaunVIogin.json町12(Siring)requestLine=POSTccounVIoginjsonHTTPM1

a厂(Linke^JMashMap}requesIHeacter

丨{Lmke^Hia5hMap}urlPararnters

r-1{LinkeflHashMap}posIPararnters

9?l{Entr^}MapElementusBr_name

二1{String}KEy=jjser_name{Siring}ValuE-9518■■已{En町®~L_l{Entry]MapElementverificationCode4B{Entrya亡{口皿列牺帥初即}responseHeaderMapElementusEr_p3sswardMapElementI口gin_lypeiJ{w[|}resp<inseBady=(HiDcENj|L_!i£ftuni*erW^lispa€fi}de*3uht-Mf^irrvilLlffijcases■?GOl[EaK:>BBB_Shing]rvpIfl^tJamfl-null:.Sirihfl)recoraFib?=a0a.oji

"■:dnle^lowMflp)parameB*

tB-iEninsWapElemE~—_{Scnng|[BMitPrii.Er»期试=ifHe&hKviJ-triable定他=■i2i<CHKTipe;casETfpt同展»:Etringjriiarrri屈刑($1啊]百弗卩刑on・nu・*~R即磁如切册日伽)弼闻LifArrBpLIal;1aw57.增加虚拟用户cn«ntK叫叫FCk8.查看测试结果5D-oo5口433z21I9.压力数据:cpu利用率达到75%以上,内存利用率达到70%以上,查看系统稳定性(事务响应时刻、事务通过率)前端连接测试测试工具WebPageTest是一款超级壮大的Web页面性能评测工具,已经开源。在该网站输入你的url,就会生成1个url加载的时刻瀑布图,对所有加载的资源(css,js,image等等)列出优化的清单。测试步骤1.以云采为例,在页面输入,Testlocation选择“Shanghai,China[IEII.Chrorne.FirefoK}”然后点击““Shanghai,China[IEII.Chrorne.FirefoK}”然后点击“STARTTEST”开始测试。STARTTESTProvidedby■imeriihelest侵camperih&iln创resuns吞山besr^iiaclenereiSTARTTESTProvidedby■imeriihelest侵camperih&iln创resuns吞山besr^iiaclenereiUrl:hripj^ncai'ron^ou.cornFrom-ghannhal,China-dimornB-tableAdyaneedChrameAulDScriptBlock匚U9[Wli2.系统会给出等待提示信息。More:M3DNBlog-BBS1PrsrtwGel/TiurHEADiriorderYoucan祈11~吃『直吕呢Ihiapage咋史门沽rour:braM!seiliMIIIhttestisampltleorccirfleb窃已:l对曰anddieckantriestilusDflheleslpt佢tloEEnctne^dtDferrialnup口nfartastinghconlinua|.3.测试终止自动生成测试报告IWMEIWMETESTRtSyiTTESTHISTORYFORIJIMSOOCLfMENTATICMABOUT鬥ped|i£lplEFiging?n/a|fxFrstE鬥ped|i£lplEFiging?n/a|fxFrstE矗TutsKsEp-alwECcTprassempressCacheEnabledrransl&riewg詐viaticcontentETm口WEusecrCDNWebPagePerformanceTFuorn:Shanghai.China-Chrome-Ceble-2D1firin&yips:2152FirstViwFirstViwDrajmertGompieteFulyLu3dB4LoadTimeFirstByteSlartFencerSfmdInrffliDOMEtemenisIHrwRgquBElE州爲inTimaRsqiww話BytesInCostFlrEtVWMj1.983SDIEte1J9B&1052弭1.9B3GW229*KB2149SVIZ25HB5—1.C1J50431s1was1993科1.612EOKBinizs42KBDOMElements.4•点击"刨"能够查看Firstbyte时刻,DOMElements.和Result(errorcode)等详细信息。DocurneirtCarnphlBFullytMife"Lw也TimeFirstStartRtmiferVisuallyCompietR•SpeedEKHUIEiemenlsRe5iuIt(errorCffllfl]TimeRequeatsBytesIn■nnieR凸|Ij凹岀BytB-9|m1.9B3iD.19GS1.59BSZ5DDS195234999991.963810225KB2.14981122=KBWMFlr&tP圖时0O<l>Cont£irtLCH◎轴IWUEV^Pt1333a1.121S-11312(0.0005}1d30S■1.E46S(001Q^:iWaterfallViewCompressImages:N/AUseProgressiveJPEGs:N/ALeveragebrowsercachingofslaticassets:DHOOfailed-(Nomax-^gi?wMpir^s)-htip-^uncal.fio^ucornipu.^iatic^ssJdemnnuntssR^iJLED-(Nonorfwire-5?-http^untal.fOn^u.ctirriJipUi^latio'CHS.'ariiniaLe.Tiii.c

温馨提示

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

评论

0/150

提交评论