1、jakartajmeter24使用说明Jmeter是开源的性能测试框架,URL:http:/jakarta.apache.org/jmeter/download:http:/jakarta.apache.org/site/downloads/downloads_jmeter.cgi使用说明:1. Step by step:注意:SamplerResult的开始和结束应加载需要执行性能测试的前后,用于收集测试的结果。启动无界面的Jmeter程序:nohup ./jmeter.sh -n -t catcachetest.jmx &Jmeter使用的参数如下:1. InvokingJMeterasj
2、meter-?willprintalistofallthecommand-lineoptions.Theseareshownbelow.2. 3. 4. -h,-help5. printusageinformationandexit6. -v,-version7. printtheversioninformationandexit8. -p,-propfileargument9. thejmeterpropertyfiletouse10. -q,-addpropargument11. additionalpropertyfile(s)12. -t,-testfileargument13. th
3、ejmetertest(.jmx)filetorun14. -j,-jmeterlogfileargument15. thejmeterlogfile16. -l,-logfileargument17. thefiletologsamplesto18. -n,-nongui19. runJMeterinnonguimode20. -s,-server21. runtheJMeterserver22. -H,-proxyHostargument23. SetaproxyserverforJMetertouse24. -P,-proxyPortargument25. Setproxyserverp
4、ortforJMetertouse26. -u,-usernameargument27. SetusernameforproxyserverthatJMeteristouse28. -a,-passwordargument29. SetpasswordforproxyserverthatJMeteristouse30. -J,-jmeterpropertyargument=value31. DefineadditionalJMeterproperties32. -G,-globalproperty(argument)=(value)33. DefineGlobalproperties(sent
5、toservers)34. e.g.-Gport=12335. or-Gglobal.properties36. -D,-systempropertyargument=value37. DefineadditionalSystemproperties38. -S,-systemPropertyFilefilename39. apropertyfiletobeaddedasSystemproperties40. -L,-loglevelargument=value41. Defineloglevel:category=level42. e.g.jorphan=INFOorjmeter.util=
6、DEBUG43. -r,-runremote(non-GUIonly)44. Startremoteservers(asdefinedbythejmeterpropertyremote_hosts)45. -R,-remotestartserver1,.(non-GUIonly)46. Starttheseremoteservers(overridesremote_hosts)47. -d,-homedirargument48. thejmeterhomedirectorytouse49. -X,-remoteexit50. Exittheremoteserversatendoftest(no
7、n-GUI)51. 52. Note:theJMeterlogfilenameisformattedasaSimpleDateFormat(appliedtothecurrentdate)ifitcontainspairedsingle-quotes,.e.g.jmeter_yyyyMMddHHmmss.log53. 54. IfthespecialnameLASTisusedforthe-t,-jor-lflags,thenJMetertakesthattomeanthelasttestplanthatwasrunininteractivemode.2. Jtl文件的解析是在linux上面用
8、jtlparser来完成的,这个也非常大, 传输到windows上面不现实。./jmeter.sh -n -t catcachetest.jmx3. Nmon 解析格式:由于Nmon收集的文件不大,收集好了传输到windows上面用nmon的excel编程就完成了。nmon的启动方式为:./nmon-f-s15-c400nmon启动:Start by capturing a small sample file. Type: nmon -f -s2 -c 30 The -f means you want the data saved to a file and not displayed on
9、the screen. The -s2 means you want to capture data every 2 seconds The -c 30 means you want thirty data points or snap shots This means that after a few seconds collecting the configuration nmon for Linux will run for 2 x 30 = 60 seconds and stop. At the end some further configuration data is collec
10、ted. nmon主页:nmon下载:nmon 分析器 fromibm:4. 小孟 Jmeter使用:http:/process.alibaba-5. 采用badboy可以录制页面做为压力发起的脚本(1)打开BadBoy的录制界面(2)启动软件,录制操作, 保存为export to jmeter的方式,“Paly All”(“”标记)可以回放录制的过程,保存之后再使用jmeter打开jmx文件【注意】Badboy2.1版本需要是用2.3.4版本的Jmeter打开脚本,2.4的测试有些兼容性的问题。(3)增加断言(即检查点):Tools-Add Inverse Assertion, 写入要检查的
11、内容。 【注意】检查的时候它会从界面的整个内容进行检查,包括有页面最底部的相关链接等等(4)http请求中,取样器部分,点击录制好的取样器, 在下面的“其他任务” - “从HTML中获取所有内容的资源”, 勾上标示请求的时候将页面中所有内容取回来(包括图片等), 一般不要勾上。(5)添加think time, 即思考时间。常用于模拟真实的用户操作时中间的思考等。添加方法:右键 添加 - 定时器- 固定定时器 , 其下面的线程延迟即为think time, 以毫秒为单位。(6)集合点(Synchronizing Timer):右键添加 - 定时器-Synchronizing Timer, 目的在
12、于模拟瞬间的高压(7)参数化请求参数, 一般选用CSV Data Set Config。右键 添加 -配置原件 -CSV Data Set Config, 配置好参数之后,指定filename(绝对路径),参数变量名Variable Names:name1, name2;开始引用参数,$name1, $name2。 【注意】CSV Data Set Config的位置必须放在使用到它之前即可, 却filename必须指定为绝对路径,例如:D:openSourcesjmeter2.3.4jakarta-jmeter-2.3.4binOutputWhiteBackup.xml(8)另外一种参数化方
13、式: 通过函数助手总文件中读取内容:“选项” -“函数助手对话框” -“选择一个功能”:StringFromFile, 配置里面的参数即可(1-02-26)(9)事务控制器: 将其他内容拉入事务控制器中形成一个事务操作。6、修改Jmeter JVM的启动参数在bin目录下面的jmeter.sh中,添加或修改JVM_ARGS=-Xms1g-Xmx1g/home/jiangyr/jmetercat/jdk1.6.0_20/bin/java $JVM_ARGS -Dapple.laf.useScreenMenuBar=true -jar dirname $0/ApacheJMeter.jar $7、
14、Jmeter中使用自定义编写的Java测试代码From:试验后的完整代码如下:1、TestLength.javapackage com.alibaba.pc2;import org.apache.jmeter.config.Arguments;import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;import org.apache.jmeter.samplers.Sampl
15、eResult;import org.apache.log4j.Logger;public class TestLength extends AbstractJavaSamplerClient private static Logger log = Logger.getLogger(TestLength.class);private String testStr;public void setupTest(JavaSamplerContext arg0) testStr = arg0.getParameter(testString, abcdefg);if (testStr != null &
16、 testStr.length() 0) results.setSamplerData(testStr);public Arguments getDefaultParameters() Arguments params = new Arguments();params.addArgument(testStr, );return params;public SampleResult runTest(JavaSamplerContext arg0) SampleResult results=newSampleResult();int len = 0;results.sampleStart();le
17、n = testStr.length();results.sampleEnd();if (len 5) System.out.println(testStr);results.setSuccessful(false);log.error(error, testStr: + testStr); else results.setSuccessful(true);log.info(successful, testStr: + testStr);return results;public void teardownTest(JavaSamplerContext arg0) /*public stati
18、c void main(String args) JavaSamplerContext context = new JavaSamplerContext(new Arguments();TestLength tl = new TestLength();for (int i = 0; i 3; i+) tl.setupTest(context);tl.runTest(context);tl.teardownTest(context);*/2、pom.xml4.0.0com.alibabapampas3-RC1com.alibaba.pc2demo01jar1.0-SNAPSHOTdemo01ht
19、tp:/maven.apache.orgcom.alibaba.externaltest.junit4.4com.alibaba.externalapache.jmeter2.3com.alibaba.externaljakarta.log4j1.2.8maven-compiler-plugin1.61.6UTF-8maven-assembly-pluginjar-with-dependencies3、mvn assembly:assembly4、制作jmx文件(1)创建线程组(2)在线程组的基础上增加Sampler -Java请求, 在类名称处选择编写的性能测试程序(3)在线程组的基础上添加
20、聚合报告(4)在线程组的基础上可选的添加查看结果树(5)在线程组上填写:线程数、Ramp-Up Period(即多长时间内启动所有的线程)、循环次数勾上永远, 在调度器中启动延迟填写0, 在持续时间中填写持续的时间(以秒为单位,比如60秒)(6)保存为jmx文件5、Badboy:.au/6、Jmeter的log输出控制:jmeter.log(细节见下面的8)在jakarta-jmeter-2.3.4bin下面的jmeter.properties1. log_level.jmeter=ERROR2. log_level.jmeter.junit=DEBUG7、Jmeter中不生成jtl文件的设置
21、, 直接得到计算之后的性能结果在jmeter/bin下面的jmeter.properties 文件中, 打开配置summariser.name=summary、summariser.interval=20、summariser.log=true1. summariser.name=summary2. #3. #intervalbetweensummaries(inseconds)default3minutes4. summariser.interval=205. #6. #Writemessagestologfile7. summariser.log=true8. #9. #WritemessagestoSystem.out10. #summariser.out=true8、在jmeter.properties中,修改Jmeter的日志级别为:ERROR, 否则产生巨大的日志文件jmeter.log1. log_level.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2