码迷,mamicode.com
首页 > 编程语言 > 详细

利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试

时间:2017-09-05 14:37:08      阅读:1906      评论:0      收藏:0      [点我收藏+]

标签:string   turn   入参   data-   pca   isp   pre   image   pen   

 

建立JAVA项目

建立maven项目,加入Jmeter所需要的JAR包依赖。

POM.xml  加入如下:

<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_components -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_components</artifactId>
<version>3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/jorphan -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>jorphan</artifactId>
<version>3.2</version>
</dependency>

技术分享技术分享

 

实现JavaSamplerClient 接口

/**
 * jmeter测试类
 * 
 * @author hejb 2017.09.04
 *
 */
public class AppForJmeter implements JavaSamplerClient {

/**
 * 设置可用参数及的默认值
 */
public Arguments getDefaultParameters() {
System.out.println("i‘m start");
return null;
}

/**
 * 开始测试,从arg0参数可以获得参数值;
 */
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
sr.sampleStart();// jmeter 开始统计响应时间标记
sr.setResponseData("test", null);
sr.setDataType(SampleResult.TEXT);
sr.setSuccessful(true);
sr.sampleEnd();// jmeter 结束统计响应时间标记
return sr;
}

/**
 * 每个线程测试前执行一次,做一些初始化工作
 */
public void setupTest(JavaSamplerContext arg0) {
System.out.println("set Up Test");
}

/**
 * 测试结束时调用;
 */
public void teardownTest(JavaSamplerContext arg0) {
System.out.println("down...");

}

public static void main(String[] args) {
System.out.println("test in main");
}
}

 

技术分享技术分享

ps: 记得添加main方法

 

导出JAR包

把项目的JAR包导出

技术分享

 

加入JAR包

\apache-jmeter-3.2\lib\ext

技术分享

添加线程组

技术分享

 

加入JAVA请求配置

 

技术分享

 

可以找到刚刚的那个JAVA类

技术分享

 

 

添加察看结果树

添加察看结果树,然后运行,可以看到JAVA中输出的内容

 

技术分享

 

加入聚合报告

技术分享

传入JAVA接受参数参数

 

传入参数,并获取进行处理

	String message = "test";

	/**
	 * 设置可用参数及的默认值
	 */
	public Arguments getDefaultParameters() {
		Arguments arguments = new Arguments();
		arguments.addArgument("message", "hello world!");
		return arguments;
	}
技术分享技术分享

 

在RUN中进行获取值


	/**
	 * 开始测试,从arg0参数可以获得参数值;
	 */
	public SampleResult runTest(JavaSamplerContext arg0) {
		message = arg0.getParameter("message");
		SampleResult sr = new SampleResult();
		sr.sampleStart();// jmeter 开始统计响应时间标记
		sr.setResponseData("test:" + message, null);
		sr.setDataType(SampleResult.TEXT);
		sr.setSuccessful(true);
		try {
			Thread.sleep(10);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		sr.sampleEnd();// jmeter 结束统计响应时间标记
		return sr;
	}
技术分享技术分享

记得每次修改需要重新导出JAR包,放入到ext下,然后重新启动jemeter,能看到参数设置

技术分享

 

收到参数

技术分享

 

性能报告,

技术分享

 

 

这样就可以用JAVA去压测RPC接口了,(如dubbo接口的压测,长连接的压测等)

 

记录下,免得下次还得重新搜怎么做

 

利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试

标签:string   turn   入参   data-   pca   isp   pre   image   pen   

原文地址:http://www.cnblogs.com/springsource/p/7478361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!