Jmeter性能测试工具使用地地总结

上传人:沈*** 文档编号:99924609 上传时间:2022-06-01 格式:DOC 页数:10 大小:778.50KB
收藏 版权申诉 举报 下载
Jmeter性能测试工具使用地地总结_第1页
第1页 / 共10页
Jmeter性能测试工具使用地地总结_第2页
第2页 / 共10页
Jmeter性能测试工具使用地地总结_第3页
第3页 / 共10页
资源描述:

《Jmeter性能测试工具使用地地总结》由会员分享,可在线阅读,更多相关《Jmeter性能测试工具使用地地总结(10页珍藏版)》请在装配图网上搜索。

1、wordJmeter 使用总结1. 下载Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载:2. 安装Jmeter需要Java环境支持,首先配置系统JAVA环境变量。Windows:解压apache-jmeter-ver.zip文件,运行 bin目录下jmeter.bat文件启动。Linux:解压apache-jmeter-ver.zip文件,运行 bin目录下jmeter.sh文件启动。3. Jmeter主要组件简单介绍a. 测试计划:Jmeter测试起点,是其他组件的容器。b. 线程组:设置测试并发线程数量,迭代次数或者运行时长。c. 配置元件:主要是配置信

2、息,主要使用请求头信息、变量等。d. Samler:指定发送的请求,所有的测试任务都在该组件完成。e. 监听器:负责测试结果显示,支持把测试结果写入到文件。常用监听器:观察结果树,显示请求和响应的细节,一般在测试脚本是否正确时使用;聚合报告:性能测试结果统计,显示总请求数,平均响应时间,错误率,TPS,数据传输速度等。4. 使用Jmeter创建测试计划实例以公有云为例a. 运行 bin目录下jmeter.bat文件启动Jmeter,界面如下b. 添加线程组并改名为Upload4KBObject。右键测试计划-添加-Threads-线程组。c. 给线程组添加Http信息头,并添加所需字段。d.

3、给线程组添加Sampler,Http请求。e. 给线程组添加监听器,观察结果树。f. 运行该测试计划并观察结果树结果。5. 参数化实现。性能测试需要高并发迭代,这样实现上传文件名或者bucket名参数化就是必须的了。这里以4 中Http请求中的路径文件名为例。a. 首先添加配置元件-用户定义的变量添加变量名字与值。值在这里就是参数化的内容,以$.b. 修改HTTP请求路径中的文件名字为$fileName.c. 添加配置元件-CVS Data Set Config 配置参数的取值。d. 添加监听器-聚合报告。e. 设置线程组线程数为3,循环次数为2,执行线程组,查看聚合报告。6. Linux系统

4、下使用。由于Jmeter有图形界面,因此需要使用远程图形界面连接, 如果服务器配置有VNC server,直接使用VNC客户端连接即可。如果服务器VNC server没有启动或者不可用移动云主机VNCserver端口没有开放,可以使用其他远程图形连接工具,这里介绍一款开源的软件,XMING和putty使用Linux在windows系统下的图形界面。a. 在windows安装XMING。下载地址 默认安装即可。b. 在Linux以Centos为例服务器安装图形界面组件。yum -y groupinstall Desktopyum -y groupinstall X Window Systemc.

5、 编辑ssh配置文件,允许ssh的图形界面转发。vi /etc/ssh/sshd_configX11Forwrding yes ;取消这一行的注释如果没有这一行如此手动添加。d. 设置putty SSH选项,配置好主机名后选择Connection-SSH-X11,如如下图设置:e. 登录后cd 至jmeter bin目录,以后台模式执行./jmeter.sh &,启动jmeter图形界面。7. Jmeter分布式运行。由于单台机器并发请求数有限,因此需要使用分布式测试扩大并发数量,具体设置步骤如下:a. 在所有运行Jmeter的机器上安装Jmeter, 选择一台作为Controller主机,其

6、他机器作为Agent主机,当然Controller主机本身也可以是Agent。b. 编辑Controller主机Jmeter bin目录下jmeter.properties文件,修改remote_hosts=192.168.0.5:1099,192.168.0.6:1099。假设192.168.0.5,192.168.0.6为Agent主机地址, 1099 为Controller主机默认服务端口。c. Agent主机执行bin目录下jmeter-server.batLinux如此为jmeter-server, 同时需要编辑该文件RMI_HOST_DEF=-Djava.rmi.server.ho

7、stname=192.168.0.5,指定Jmeter使用的IP地址d. Controller主机执行bin目录下jmeter.batlinux如此为jmeter.sh,此时在远程启动中即可看到Agent主机了。e. Controller主机设置的线程数和循环数是指每台Agent主机都是这个配置,假设Controller主机配置10线程,循环10次, 有两台Agent主机,如此总线程数为10*2=20,总的迭代次数10*10*2=200。同时需要注意的是测试数据和参数文件需要放置在Agent主机。8. Jmeter 自定义测试脚本。由于某些请求,例如带认证字段的请求,Jmeter无法实现认证字

8、段的动态生成,无法直接使用HTTP请求完成,此时需要自定义测试脚本来实现请求。这里以七牛的上传对象请求为例,七牛云存储上传对象请求和删除对象请求Authoration字段为必选字段。a. 使用eclipse创建一个新的Java项目,名字为QNUp4KBObject,配置build path,添加青牛sdk jar包与依赖包,添加jmeter lib/ext目录下的所有jar包。b. 新建类QNUpload4KB.java,并且该类继承AbstractJavaSamplerClient,继承抽象方法runTest(),该方法是Jmeter请求执行函数体,测试任务实体即在该函数中实现。具体代码如下

9、:public class QNUpload4K extends AbstractJavaSamplerClient private SampleResult results; /jmeter测试结果private String fileName;public Arguments getDefaultParameters() Arguments params = new Arguments();/*定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值*/ params.addArgument(fileName, ); return params;pu

10、blic void setupTest(JavaSamplerContext arg0) /*线程开始前操作*/public SampleResult runTest(JavaSamplerContext arg0) results = new SampleResult(); /实例化jmeter结果对象results.sampleStart();/ jmeter 开始统计响应时间标记 fileName = arg0.getParameter(fileName, 4kB);/获取参数值,第二个参数为默认值 try Upload4kb uo = new Upload4kb();/文件上传类Str

11、ing token = uo.genToken();/获取认证字段uo.putFile(token,fileName);/文件上传操作 results.setSuccessful(true);/没有异常如此设置测试结果为true catch (Throwable e) results.setSuccessful(false); finally results.sampleEnd();/jmeter 完毕统计响应时间标记 return results; public void teardownTest(JavaSamplerContext arg0) /*线程完毕后操作*/ c. 新建文件上传类

12、,实现文件上传操作,给QNUpload4K类调用。publicclass Upload4kb String bucketName = onest-20141028; String localFile = D:/testdata/test-4KB.txt;publicstatic Mac getMac() /*七牛自定义的一个数据结构*/ Config.ACCESS_KEY = sXF6aG4ABgoyL-uCcpDDf1uStCTOhBhRNjxoPP; Config.SECRET_KEY = iDlLOt7SpR9ueJ2QOBA_CU71rN_c22-G7aLDvkD7; Mac mac

13、= new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);return mac; public String genToken() throws Exception /*返回认证信息*/ 请确保该bucket已经存在 PutPolicy putPolicy = new PutPolicy(this.bucketName); String uptoken = putPolicy.token(getMac();return uptoken;publicvoid putFile(String uptoken,String fileName) /*上传本地文件对象

14、实现*/PutExtra extra = new PutExtra(); PutRet ret = IoApi.putFile(uptoken, fileName, localFile, extra);publicvoid deleteFile(String fileName) /*删除对象实现*/RSClient client = new RSClient(getMac();client.delete(bucketName, fileName);d. 测试没有问题后,将该项目导出为可执行jar 包,放到jmeter lib/ext目录下,重新启动Jmeter。e. 添加线程组,然后添加Sam

15、pler-Java请求。f. 在类名称中选择QNUpload4K,并修改参数值为$fileNameg. 添加CVS Data Config和监听器与之上一样。执行结果如下所示。9. 常见错误与解决方法。a. 启动Jmeter出现内存溢出问题。解决:windows 下编辑jmeter.bat文件,根据服务器实际情况修改HEAP 等内存大小。Linux 下修改jmeter文件。b. 分布式测试Controller主机连接Agent出错,connection refused to host XX.XX.XX.XX nested exception。解决方法:开发Controller 主机1099端口,关闭防火墙。c. Controller主机出现内存溢出问题,可以尝试把测试结果保存在文件中而不是显示在聚合报告中。10 / 10

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!