系统性能测试jmeter大报告_第1页
系统性能测试jmeter大报告_第2页
系统性能测试jmeter大报告_第3页
系统性能测试jmeter大报告_第4页
系统性能测试jmeter大报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

JAVA环 安装 三、HTTP网页测 添加用 添加HTTP请 添加 7 测试目 13 五、JMeter测试java代 创建Java工 设置Build 添加测试 输出Jar文 将导出的Jar文件放到JMeter的相 六、总 被测试 测试 JMeterApacheJavaWeb如静态文件、Java小服务程序、CGI、Java对象、数据库,FTP服务器等等。JMeter析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的来验证你的程序返回了你期望的结果。为了最大限度的灵活性,另外,JMeterJMeter1、ThreadGroup(线程在跑了,这个元素可以配置跑多少个线程、每个线程循环多少次,所有线程数的总启动时间(Ramp-upperiod)等等。2、Controller(控制器LogicalControllerSampler,前者用来作一些逻辑上的控制,例如轮换、RequestHTTP3、Listener(侦Listener对请求过程进行,可以简单理解为获取结果的东西。例如SimpleDataWriter,可以把结果写到一个文本文件里(Listener里ViewResultsinTable,就是把结果显示在表格里。5、SamplerHTTP是否含有某个字符串。如果断言为真,JMeter6、ConfigurationElement(配置元素)配置用的元素,很有用。由于测试计划是树状和有继承关系的,可以在次指定一个ConfigurationElement,低层次的相关Sampler如果没有显式地指定配置,就继承高7、Pre-Processor/Post-ProcessorSampler参数(预处理,从返回信息里面提取信息(后处理)等等。JAVA环需要1.4+,在这里我们选择目前的java环境JMeter的安装十分简单,从其官网上zip版本的软件,解压后,以管理员权限运jmeter.batMeter利用bat文件对自身并且呼出窗体版主界面JMeter三、HTTP网页测JMeterJmeterweb想要创建一个测试计划的第一步就是添加线程组,线程组会告诉JMeter你想要模拟程数就是用户数,Ramp-UpPeriod表示每个用户启动的迟延时间(例5个用户,启动延5,JMeter51,循环次数表示测试的重复次数。如果需要指定时间而不是立即进试,还可以使用调度器10010100,Ramp-UpPeriod0,10。HTTP请Jmeter们要测一个,所以要添加一个HTTP请求类型的取样器,并且添加相应的内容,例如修改ipHTTP我们要测试http: 这个,所以在服务器名称中填入该,在路径中填入/表示服务器的根页。协议默认为http协议,端口默认为http协议的80端口,这两项不用修改。如果要测https协议,需要把协议改为https并且把端口改为对应的443端口。添加最后你需要给你的测试计划添加一个器,这些元件用于请求数据的后期处理,例在这里我们添加三个器:图形结果,聚合报告和结果树P.S.KB/sec:使用在测试过程中,平均响应时间是我们性能测试的一个重要衡量指标,但是在测试中,特90%Line90%在发送的请求中,90%的用户响应时间都比得到的数值上要短,也就是说,一个系统在应用时,90%90%Line第一次测试:100个用户,在0秒内,重复10我们首先做了一个集中量比较大的测试,100个用户在0秒内重复10次,也就是在同时1000次,分别得到了测试的图形结果,聚合报告和结果树。越长(黑点,在某个时刻吞吐量突然断层而偏离值和平均值突然急剧上升是因为出现了90%line21000ms,这基本上等同于无响应,并且43.40%3317ms108mshttpget如下图,可以发现,虽然平均值,中值,90%line多,而且错误率仍然是43.40%,后来经过发现,是因为北工大的能追查到MAC地址,在我做测试的时候,短时间大量相同MAC地址的请求触发了,之后的请求全被了,所以才导致请求发出去后没有回应。两次测试的参数一样,触发采在做完上述测试之后,北工大的估计是暂时把我的MAC地址拉进了,所以 第二次测试:100个用户,在25秒内,重复10第二次测试的压力要比第一次测试小,100个用户在25秒内重复10次,也就是每40由图形结果可以看出,虽然吞吐量仍然上升的很明显,但是并没有断层,响应时间的分布比较平均,中值(紫线)y20992ms6153ms。再看聚合报告,可以发现平均响应时间为3317ms,90%line为5516ms,这个响应速度已经比同时1000次的时候快了非常多,错误率为5.60%说明在测试的后半段还是触发了学校的。第三次测试:100个用户,在100秒内,重复10第三次测试是100个用户在100秒内重复10次,相当于每秒只10次,这对学校的校内来说基本上没有任何压力,可以看到y轴的最大值为58ms,各项数值都在58ms45ms,42ms,90%line52ms,这个响应时间相467ms,说明在这个访分析结果可以发现,由于的策略导致我们并不能准确的测出高量下的web系统性能,在低量时,学校的web系统表现的非常稳定。但是从另一方面讲,由于有防火墙的存在,可以防止的,也是维持web系统稳定运行的一种重要。子测试环境的搭SQLSQLServer2012ExpressExpressJDBC从微软获取SQLServer所用的JDBC驱动。解压后将sqljdbc驱动放入libJDBCMSSQLServesSQL被测试数据本次性能测试,我们采用一个着一些信息的数据库。共13838调数据,包含数据编号,机构,被公司,期望,时间和趋势。用户可以通过SQL命令搜索一些如:汇丰的所有信息,会得到以下结果JMeterJDBCConnectionConfiguration,SamplerJDBCVariableName问多个数据库的情况,因此需要将他们一一对应,帮助数据库令找到对应的连接。我将SQLURLURLjdbc:jdts:sqlserver//sqlserver的IP地址:端/数据库名URLJDBC,JDBCODBCADO.NET有同样的作用。最后,填写数据库的用户名和。这样,连接就建立完成了VariableName测试中,我们分别模拟1个用户、50个用户、500个用户同时数据库查询,每个用3线程的数量表示用户数,程组中设定。Ramp-UpPeriod为间隔时间,0代表并发。 得到如下1177ms,50529ms,5002416ms,6首先,刚刚测出的结果以图形方式在页面上展示分析曲线不难发现趋势的变化随着用户数量的增加时间随之加长不过也有个例外,在50用户数时处理时间反倒有所下降。推测应该是大量用户同一资源触发了数据库的缓存机制,将频繁项转入了内存而使性能有所有优化。但是,随着用户数量的继续上升,平均等待时间和最长等待时间急速上升。特别是500用户时,最高5.5秒的等待可以说是难以忍受的,而且这还是在所有用户统一数据的情况试想选候的教务系统或者春运时候的订票系统。每秒成千上万的数量,数五、JMeterjavaJava工eclipseJAVABuild将JMeter的 下的全部jar文件添加进此工程的Build1)右键工程->BuildPath>ConfigureBuildjarlibraries添加被测试测试类继 JavaSampler,带有详细注释代码见附录Jar文Export为RunnableJarFile: 选择runnableJarjar将导出的Jar文件放到JMeter的相 将此o.jar包放入 测试JavaJMeter,Java2100,1050000,3050000302.1,num1,num21Java0.因为我们的测试程序为单一的幂次运算。0JavaCPUCPUJavaJMeter的开发提供了一种合适的方式。在实践的过程中,我们也遇到了许多。如被测试不返回预期的结果,数据库连接驱动无法正常工作,JAVAJAVA被测试packageimportpublicclasstest02publicStringsay{return"}publicStringsayoTo(String{if(s==null||s.equals(""))s="nobody";return(newStringBuilder()).append("o}publicintsum(inta,int{intBigDecimalresult=newBigDecimal(1);BigDecimaltemp=newBigDecimal(a);{result=newBigDecimal(1);result=result.multiply(temp);}return}}测试packageimportimporttocol.java.sampler. importtocol.java.sampler.JavaSamplerContext;importorg.apache.jmeter.samplers.SampleResult;importtest2.test02;publicclassAppextends JavaSampler{privateStringa;privateString/**Holdstheresultdata(shownasResponseDataintheTreedisy).*/privateStringresuata;自定义java的//publicArgumentsgetDefaultParameters(){Argumentsparams=newArguments();params.addArgument("num1","");params.addArgument("num2","");returnparams;}publicvoidsetupTest(JavaSamplerContextarg0}publicSampleResultrunTest(JavaSamplerContextarg0)a=b=arg0.getParameter("num2");SampleResultsrnewSampleResult();sr.setSampleLabel("Java求");trysr.sampleStart()jmetertest02test=newresuata=String.valueOf(test.sum(Integer.parseInt(a),Integer.parseInt(b)));if(resuata!=null&&resuata.length()>0){sr.setResponseData("结果是:"+resuata,null);}//System.out.println(resuata);}catch(Throwablee){}finallysr.sampleEndjmeter标}return}publicvoidteardownTest(JavaSamplerContextarg0)////System.out.println("

温馨提示

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

评论

0/150

提交评论