jmeter测并发

ApacheJMeter是一个开源的负载测试工具,用于评估Web应用、数据库服务器等的性能和功能。它支持多协议,包括HTTP、HTTPS,具备灵活的测试计划,可模拟并发用户,并提供断言、监听器和详细报告。通过线程组设置并发量,添加HTTP请求和监听器,可以进行性能测试和结果分析。此外,JMeter还支持分布式测试和丰富的插件生态系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jmeter是什么

Apache JMeter是一个开源的负载测试工具,用于评估和分析系统的性能和功能。它可以模拟多种类型的负载,包括 Web 应用程序、数据库服务器、FTP 服务器等,并可用于测量服务器的性能、资源使用情况和响应时间。

以下是一些 Apache JMeter 的主要特点和功能:

  • 多协议支持:JMeter 支持多种协议,包括 HTTP、HTTPS、FTP、SOAP、JDBC 等。这意味着你可以模拟不同类型的应用程序和服务的负载。

  • 灵活的测试计划:JMeter 使用基于树形结构的测试计划来组织和管理测试。你可以在测试计划中添加线程组、逻辑控制器、取样器、监听器等元素,以配置和定义测试场景。

  • 线程模拟:JMeter 使用线程组来模拟并发用户。你可以定义多个线程组,每个线程组可以模拟特定数量的并发用户,并配置不同的参数和行为。

  • 取样器和监听器:取样器用于发送请求并收集响应数据,监听器用于分析和查看测试结果。JMeter 提供了多种内置的取样器和监听器,例如 HTTP 请求、FTP 请求、数据库查询等。

  • 断言和验证:JMeter 具有断言机制,可以对响应数据进行验证和断言。你可以定义多种断言来检查响应数据的内容、状态码、响应时间等。

  • 报告和图表:JMeter 可以生成详细的测试报告和图表,用于分析和展示测试结果。报告包含了各种指标和统计数据,如响应时间、吞吐量、错误率等。

  • 分布式测试:JMeter 支持分布式测试,允许你在多台机器上运行 JMeter 实例,以模拟更大规模的负载。

  • 插件生态系统:JMeter 提供了丰富的插件生态系统,你可以通过插件扩展 JMeter 的功能,例如增加新的取样器、监听器、报告生成器等。

总体而言,Apache JMeter 是一个强大的负载测试工具,可以帮助你模拟各种负载情况,评估系统的性能和可靠性,并提供详细的测试结果和报告。它是一个广泛应用于性能测试领域的工具,可用于测试 Web 应用程序、服务端点、数据库服务器等各种系统。

安装

官方网站下载最新版本:
https://jmeter.apache.org/download_jmeter.cgi
在这里插入图片描述
windows可以直接选择.zip文件,解压后就能直接用(当然你得安装过java)
在这里插入图片描述

使用

直接解压,然后进入bin目录,然后运行jmeter.bat脚本就可以了
在这里插入图片描述

1、测试计划

一打开就有Test Plan
设置名称和注释,这里的配置主要是方便管理测试计划,不改也没关系

2、线程组

选中测试计划,右键选择添加->线程->线程组
在这里插入图片描述
这里设置的就是我们的并发量,包括线程数、单个线程循环次数、延迟时间、持续时间等
在这里插入图片描述

3、添加请求

选中线程组,右键选择添加->取样器->HTTP请求。这里需要注意的是添加的时候必须在线程组下创建
注意协议是http还是https
IP可以写域名也可以写IP(可以postman先测试好)
PATH是具体的/后面的内容
如果有参数可以在下面补充,是URL放在一起的还是单独的等等
在这里插入图片描述

4、添加报告

得有看结果的地方
选中线程组,右键选择添加->监听器->选择需要的报告
在这里插入图片描述
Apache JMeter提供了多个监听器,用于分析和展示测试结果。这些监听器生成各种报告表,以帮助你分析系统的性能和行为。下面是一些常用的监听器和它们生成的报告表:

  • Summary Report(汇总报告):

描述:显示整体测试结果的摘要信息,包括总样本数、错误数、吞吐量、平均响应时间等。
主要指标:样本数、错误数、吞吐量、平均响应时间、最小响应时间、最大响应时间等。
用途:提供测试的总体概览和指标汇总。

  • Aggregate Report(聚合报告):

描述:提供详细的聚合测试结果,包括每个请求的响应时间、错误数、吞吐量等。
主要指标:请求名称、样本数、错误数、吞吐量、平均响应时间、最小响应时间、最大响应时间等。
用途:用于查看每个请求的性能指标和对比不同请求之间的性能差异。

  • View Results Tree(查看结果树):

描述:以树形结构展示每个请求的详细信息,包括请求URL、请求参数、响应数据等。
用途:用于查看每个请求的详细信息,包括请求和响应的内容。

  • Response Time Graph(响应时间图):

描述:显示测试过程中每个请求的响应时间随时间的变化趋势。
主要指标:时间、平均响应时间、90百分位数、最小响应时间、最大响应时间等。
用途:用于观察响应时间在测试过程中的波动和变化。

  • Throughput Over Time(吞吐量随时间变化图):

描述:显示测试过程中的吞吐量随时间的变化趋势。
主要指标:时间、吞吐量(请求数/秒)。
用途:用于观察系统在不同时间段内的负载情况和吞吐量变化。

  • Response Assertion(响应断言):

描述:用于验证响应数据是否符合预期,并生成断言结果报告。
主要指标:断言结果、匹配模式、匹配规则等。
用途:用于检查响应数据的正确性和完整性。
除了上述监听器和报告表,Apache JMeter还提供了其他一些监听器,如图表报告、分布式负载报告、数据文件报告等,用于满足不同的测试需求和分析要求
jmeter添加断言很简单,选中线程组,右键选择添加->断言->选择你需要的断言方式,同时监听器下选择断言结果

开始测试

这里可以开始和停止
在这里插入图片描述

参考:
https://zhuanlan.zhihu.com/p/376318952

### 使用 JMeter 进行并发性能测试 #### 准备工作 为了执行并发性能测试,确保已经安装并配置好了一个可用的JMeter环境[^2]。对于中等负载(100-500个并发用户),可以利用此工具来进行有效的性能评估,尽管不建议使用JMeter图形界面来运行大规模分布式测试[^3]。 #### 配置线程组 创建一个新的测试计划,在其中添加一个线程组组件。设置线程数以代表预期的同时在线用户的数量。例如,如果目标是在网站上模拟300名同时活动的访客,则应将线程数目设为300。此外,还需设定启动延迟时间和循环次数参数,以便更精确地控制流量模式[^4]。 #### 添加HTTP请求采样器 向线程组内加入HTTP请求采样器,用于定义要发送到服务器的具体HTTP请求。这可能涉及GET或POST方法调用API端点、提交表单或其他交互操作。当涉及到登录流程时,可以通过CSV Data Set Config元素加载多个账户凭证,从而允许不同身份下的多次尝试登陆过程。 #### 应用同步定时器 为了让所有线程几乎在同一时刻发起请求,可以在必要的地方插入同步定时器。该定时器的作用在于收集一定量级内的活跃线程,并使这些线程等待直到达到预设的数量之后再一起继续执行下一步动作。这对于模仿瞬间高峰访问非常有用。 #### 执行与监控 完成上述配置后保存项目文件并通过命令行而非GUI形式启动测试。考虑到默认情况下JVM仅给予JMeter大约512MB堆空间,因此有必要调整`HEAP=-Xms1g -Xmx4g`这样的参数提高最大可用内存大小,进而支持更大规模的压力施加需求。 ```bash jmeter -n -t /path/to/testplan.jmx -l /path/to/resultsfile.csv ``` 以上指令中的选项含义如下: - `-n`: 表明是非GUI模式下运行; - `-t`: 后面跟的是测试计划路径; - `-l`: 记录结果至指定的日志文件。 #### 结果分析 最后一步是对产生的日志数据进行解析,通常借助于Listener监听器插件如聚合报告(Aggregate Report),查看平均响应时间、吞吐率以及错误百分比等指标,以此判断系统的整体表现是否满足业务要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值