Jmeter--使用JMeter进行性能测试(Java请求)
2014-07-16 10:48
676 查看
看了两篇如何使用JMeter在HTTP请求及数据库方面做性能测试的文章(如下两个链接),感受到这款工具的强大及易用。我在这里延续下,对JMeter里另外一种常用的测试类型:"Java请求",做个入门级的介绍。
http://www.ibm.com/developerworks/cn/java/l-jmeter/
http://www.ibm.com/developerworks/cn/opensource/os-pressiontest/
"Java请求"是指JMeter对Java Class进行性能测试。在没有使用JMeter这类工具前,我对Class的性能测试,基本都是通过自己写个循环,然后单线程或并发着去运行,最终输出整体所耗时间。
一、启动JMeter
首先下载:
http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
无论是Linux/WIndows,最简单的方法是下载Binary版本
启动图形界面方法:
Linux下运行 $安装目录/bin/jmeter.sh
Windows下运行 $安装目录/bin/jmeter.bat
二、编写用例
针对"Java请求"类型的测试,需要基于JMeter测试框架编写测试用例。
1、新建一个普通的Java工程
2、将 $安装目录/lib/ 目录引入工程
3、新建一个Java Class,如下例中的"PerformanceTest ",并继承"AbstractJavaSamplerClient"
代码示例:
Java代码
/**
*
*/
package test;
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.SampleResult;
/**
* @author xuanyin
*
*/
public class PerformanceTest extends AbstractJavaSamplerClient {
/**
*
*/
private static long start = 0;
private static long end = 0;
/**
* 执行runTest()方法前会调用此方法,可放一些初始化代码
*/
public void setupTest(JavaSamplerContext arg0) {
// 开始时间
start = System.currentTimeMillis();
}
/**
* 执行runTest()方法后会调用此方法.
*/
public void teardownTest(JavaSamplerContext arg0) {
// 结束时间
end = System.currentTimeMillis();
// 总体耗时
System.err.println("cost time:" + (end - start) / 1000);
}
/**
* JMeter界面中可手工输入参数,代码里面通过此方法获取
*/
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
return args;
}
/**
* JMeter测试用例入口
*/
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
try {
// Start
sr.sampleStart();
/**
* Start~End内的代码会被JMeter
* 纳入计算吞吐量的范围内,为了使
* 性能结果合理,无关代码不必放此
*/
// TODO
/**
* True/False可按测试逻辑传值
* JMeter会对失败次数做出统计
*/
sr.setSuccessful(true);
// End
sr.sampleEnd();
} catch (Exception e) {
e.printStackTrace();
}
return sr;
}
Tips:
* 可以添加main(String[] args)方法,更直观地在本地调试无误后,再把代码移至runTest()方法内
* System.out等的输出会显示在启动JMeter时的命令窗口内,但过多的输出会影响性能的准确性
4、完成用例后,将工程导出成Jar,放置于 $安装目录/lib/ext/ 下,其它依赖的Jar放置于 $安装目录/lib/ 下
5、启动(或重启)JMeter
三、运行用例
1、选中主界面左侧的“测试计划”,右键菜单->添加->Threads(Users)->线程组
2、再选中刚才新增的"线程组",右键菜单->添加->Sampler->Java请求
3、再选中刚才新增的"Java请求",右键菜单->添加->监视器->聚合报告
(聚合报告即是性能测试结果报告)
4、在"Java请求"选项卡中可以选择你想测试的类名;在"线程组"选项卡中可以输入想循环的次数及并发线程数
5、一切就绪后,点击菜单栏上的"运行"->启动,JMeter即会按第4步的配置开始运行,选中"聚合报告"即可查看实时状态
Tips:
* 如果在"Java请求"选项卡中未找到编写的测试用例类名:
则请先确认用例是否继承了JMeter框架;
其次保证用例的Jar文件在 $安装目录/lib/ext/ 下;
尝试重启JMeter
如有使用问题,欢迎给我留言一起探讨。
------------------------------------------------------------
目的:对Java程序进行测试;
一、核心步骤
1.创建一个Java工程;
2.将JMeter的lib目录下的jar文件添加进此工程的Build Path;
3.创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写:
public Arguments getDefaultParameters():设置可用参数及的默认值;
public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,做一些初始化工作;
public SampleResult runTest(JavaSamplerContext arg0):开始测试,从arg0参数可以获得参数值;
public void teardownTest(JavaSamplerContext arg0):测试结束时调用;
4.Export为Runnable Jar File;
5.将此jar包放入JMETER_HOME\lib\ext目录;
6.以管理员身份打开JMeter;
7.创建线程组、Java Request、结果树,进行测试;
http://www.ibm.com/developerworks/cn/java/l-jmeter/
http://www.ibm.com/developerworks/cn/opensource/os-pressiontest/
"Java请求"是指JMeter对Java Class进行性能测试。在没有使用JMeter这类工具前,我对Class的性能测试,基本都是通过自己写个循环,然后单线程或并发着去运行,最终输出整体所耗时间。
一、启动JMeter
首先下载:
http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
无论是Linux/WIndows,最简单的方法是下载Binary版本
启动图形界面方法:
Linux下运行 $安装目录/bin/jmeter.sh
Windows下运行 $安装目录/bin/jmeter.bat
二、编写用例
针对"Java请求"类型的测试,需要基于JMeter测试框架编写测试用例。
1、新建一个普通的Java工程
2、将 $安装目录/lib/ 目录引入工程
3、新建一个Java Class,如下例中的"PerformanceTest ",并继承"AbstractJavaSamplerClient"
代码示例:
Java代码
/**
*
*/
package test;
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.SampleResult;
/**
* @author xuanyin
*
*/
public class PerformanceTest extends AbstractJavaSamplerClient {
/**
*
*/
private static long start = 0;
private static long end = 0;
/**
* 执行runTest()方法前会调用此方法,可放一些初始化代码
*/
public void setupTest(JavaSamplerContext arg0) {
// 开始时间
start = System.currentTimeMillis();
}
/**
* 执行runTest()方法后会调用此方法.
*/
public void teardownTest(JavaSamplerContext arg0) {
// 结束时间
end = System.currentTimeMillis();
// 总体耗时
System.err.println("cost time:" + (end - start) / 1000);
}
/**
* JMeter界面中可手工输入参数,代码里面通过此方法获取
*/
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
return args;
}
/**
* JMeter测试用例入口
*/
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
try {
// Start
sr.sampleStart();
/**
* Start~End内的代码会被JMeter
* 纳入计算吞吐量的范围内,为了使
* 性能结果合理,无关代码不必放此
*/
// TODO
/**
* True/False可按测试逻辑传值
* JMeter会对失败次数做出统计
*/
sr.setSuccessful(true);
// End
sr.sampleEnd();
} catch (Exception e) {
e.printStackTrace();
}
return sr;
}
Tips:
* 可以添加main(String[] args)方法,更直观地在本地调试无误后,再把代码移至runTest()方法内
* System.out等的输出会显示在启动JMeter时的命令窗口内,但过多的输出会影响性能的准确性
4、完成用例后,将工程导出成Jar,放置于 $安装目录/lib/ext/ 下,其它依赖的Jar放置于 $安装目录/lib/ 下
5、启动(或重启)JMeter
三、运行用例
1、选中主界面左侧的“测试计划”,右键菜单->添加->Threads(Users)->线程组
2、再选中刚才新增的"线程组",右键菜单->添加->Sampler->Java请求
3、再选中刚才新增的"Java请求",右键菜单->添加->监视器->聚合报告
(聚合报告即是性能测试结果报告)
4、在"Java请求"选项卡中可以选择你想测试的类名;在"线程组"选项卡中可以输入想循环的次数及并发线程数
5、一切就绪后,点击菜单栏上的"运行"->启动,JMeter即会按第4步的配置开始运行,选中"聚合报告"即可查看实时状态
Tips:
* 如果在"Java请求"选项卡中未找到编写的测试用例类名:
则请先确认用例是否继承了JMeter框架;
其次保证用例的Jar文件在 $安装目录/lib/ext/ 下;
尝试重启JMeter
如有使用问题,欢迎给我留言一起探讨。
------------------------------------------------------------
目的:对Java程序进行测试;
一、核心步骤
1.创建一个Java工程;
2.将JMeter的lib目录下的jar文件添加进此工程的Build Path;
3.创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写:
public Arguments getDefaultParameters():设置可用参数及的默认值;
public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,做一些初始化工作;
public SampleResult runTest(JavaSamplerContext arg0):开始测试,从arg0参数可以获得参数值;
public void teardownTest(JavaSamplerContext arg0):测试结束时调用;
4.Export为Runnable Jar File;
5.将此jar包放入JMETER_HOME\lib\ext目录;
6.以管理员身份打开JMeter;
7.创建线程组、Java Request、结果树,进行测试;
相关文章推荐
- 使用JMeter进行性能测试(Java请求)
- 使用JMeter进行性能测试(Java请求)
- 使用JMeter进行性能测试 —“Java请求”方式
- 使用JMeter进行性能测试 —“Java请求”方式
- 使用JMeter进行性能测试(Java请求)
- 使用JMeter进行性能测试(Java请求)
- 使用JMeter进行性能测试之Java请求
- 【学习笔记】系列十三:使用JMeter进行性能测试之Java请求
- 使用JMeter进行性能测试之Java请求
- 使用Jmeter中的Java Request进行性能测试
- 利用JMeter的Java请求采样器进行rpc接口的性能测试
- (转)JMeter进行Java 请求测试
- 【转载】使用JMeter的Java请求功能测试Hetty性能
- 用Apache JMeter进行性能测试之五(使用同步定时器元件)
- 使用 JMeter 对 SOAP 应用进行压力或性能测试
- 使用JMeter进行性能测试
- 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
- 使用Jmeter对mysql进行性能测试入门
- 使用JMeter进行性能测试
- 使用JMeter进行性能测试