用JMeter进行性能测试

本文详细介绍了如何使用JMeter进行接口测试,包括安装、配置、编写测试类及生成聚合报告的过程。JMeter适用于静态或动态资源的性能测试,如文件、Servlets、Perl脚本等。

简介:  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,启动后如下图所示:

 

 

 

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


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

 

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

 

 

对web进行测试:

  图如下



 

生成的聚合报告如下:



 

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

 

 

 

 

### 使用 JMeter 进行性能测试 JMeter 是 Apache 组织开发的一款基于 Java 的压力测试工具,具有开源免费、框架灵活以及多平台支持等优势[^1]。它不仅可以用于性能测试,还可以应用于接口测试。以下是使用 JMeter 进行性能测试的具体方法: #### 1. JMeter 的安装与启动 访问 [Apache JMeter 官方网站](https://jmeter.apache.org/download_jmeter.cgi),下载最新版本的 JMeter 压缩包。解压缩后,在 `bin` 目录下可以找到 `jmeter.bat`(适用于 Windows)或 `jmeter.sh`(适用于 Mac/Linux)。双击该文件即可启动 JMeter GUI[^2]。 #### 2. 创建测试计划 在 JMeter 中,所有性能测试都以测试计划为起点。通过以下步骤创建一个测试计划: - 打开 JMeter 后,右键点击“测试计划”,选择“添加” -> “线程(用户)” -> “线程组”。 - 配置线程组参数,例如线程数(并发用户数)、 Ramp-Up 时间(模拟用户逐渐增加的时间)以及循环次数。 #### 3. 添加 HTTP 请求 为了测试 Web 应用程序的性能,需要添加 HTTP 请求: - 右键点击“线程组”,选择“添加” -> “取样器” -> “HTTP 请求”。 - 在 HTTP 请求中配置服务器地址、端口号、请求路径等信息。 #### 4. 配置监听器 监听器用于查看和分析测试结果: - 右键点击“线程组”,选择“添加” -> “监听器” -> “查看结果树”或“图形结果”。 - 通过监听器可以观察每个请求的响应时间、吞吐量以及其他性能指标。 #### 5. 参数化与关联 为了使测试更加真实,可以引入参数化和关联技术: - 参数化:通过 CSV 数据文件或其他数据源动态替换请求中的变量值。 - 关联:从上一个请求的响应中提取特定值,并将其用于后续请求。 #### 6. 断言 断言用于验证服务器返回的结果是否符合预期: - 右键点击“HTTP 请求”,选择“添加” -> “断言” -> “响应断言”。 - 配置断言条件,例如期望的响应内容或状态码。 #### 7. 运行测试 配置完成后,点击工具栏上的绿色三角形按钮运行测试测试结果会显示在监听器窗口中。 #### 8. 分析性能指标 性能测试的核心在于分析关键指标,例如: - **响应时间**:服务器处理请求所需的时间。 - **吞吐量**:单位时间内服务器能够处理的请求数量。 - **错误率**:测试过程中发生的错误比例。 ```python # 示例代码:生成一个简单的 JMeter 测试计划脚本 from jmeter_api.basics.thread_group.element import ThreadGroup from jmeter_api.basics.test_plan.element import TestPlan from jmeter_api.samplers.http_request import HttpRequest # 创建线程组 thread_group = ThreadGroup(num_threads=10, ramp_time=5) # 创建 HTTP 请求 http_request = HttpRequest(domain="example.com", port=80, path="/api/test") # 将 HTTP 请求添加到线程组 thread_group.add_http_request(http_request) # 创建测试计划并添加线程组 test_plan = TestPlan(thread_group=thread_group) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值