欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用JMeter进行性能测试

程序员文章站 2022-07-08 13:22:10
...

简介:  JMeter 可以用于测试静态或者动态资源的性能(文件、 Servlets 、 Perl 脚本、 java 对象、数据库和查询、 ftp 服务器或者其他的资源)。 JMeter 用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可 以用 JMeter 提供的图形化界面分析性能指标或者在高负载情况下测试服务器 / 脚本 / 对象的行为

 

安装:从apache网站下载jmeter的zip包解压,点击\bin目录下的jmeter.bat就可以启动jmeter了,当然前提是你机子上安装了jdk

 

用jmeter进行接口测试:

       新建一个项目JMeterTest,需要到\lib\ext目录引入两个包ApacheJMeter_java.jar,ApacheJMeter_core.jar,因为一下测试类需要实现的接口依赖这两个包.测试类如下:

public class JMeter extends AbstractJavaSamplerClient {
	public static int count = 0;
	public Object o = new Object();

	@Override
	public SampleResult runTest(JavaSamplerContext context) {
		SampleResult sampleResult = new SampleResult();
		String jmeter = context.getParameter("jmeterParameter");

		// 计时开始
		sampleResult.sampleStart();
		System.out.println(jmeter);
		synchronized (o) {
			try {
				count++;
				Thread.sleep(100);
				System.out.println("Hello JMeter->" + count);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		// 计时结束
		sampleResult.sampleEnd();
		// 返回是否处理成功
		sampleResult.setSuccessful(true);
		return sampleResult;
	}
}

  

    

  

     将JMeterTest打成jar包放到\lib\ext目录下,点击jmeter.bat启动jmeter,启动后如下图所示:

 

 
用JMeter进行性能测试
 

      点击java请求,在右边下拉框选择com.ldh.JMeter,添加参数名称"jmeterParameter",值为"hello,world",就可以在程序中通过context.getParameter("jmeterParameter")得到"hello,world".


     线程数表示用来进行测试的线程,Ramp-Up-Period表示在多少秒内启动这几个线程,循环次数表示每个线程运行的次数

 

      按上图将该加的加完后,选择运行-启动,就可以进行测试了,测试完成后就可以从图形结果,查看结构树,聚合报告等查看结果了

 

 

对web进行测试:

  图如下


用JMeter进行性能测试
 

生成的聚合报告如下:


用JMeter进行性能测试
 

图表含义说明如下:
Label:说明是请求类型,如Http,FTP等请求。
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
Min:是代表时间的数字,是服务器响应的最短时间。
Max: 是代表时间的数字,是服务器响应的最长时间。
Error%:请求的错误百分比。
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。