jmeter可以做哪些测试?

本文详细介绍Apache JMeter这款开源性能测试工具的主要功能及应用场景,包括性能测试、并发测试、稳定性测试、业务场景测试和负载测试等。文章还介绍了如何设置同步计时器实现并发测试,如何使用统一随机定时器来模拟真实用户行为。

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

一、JMeter介绍

Apache JMeter是Apache组织开发的基于Java的压力测试工具。作用有:
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。

jmeter可以做哪些测试?

性能测试

并发测试

使用**同步计时器**(设置并发数),同步计时器主要有两个参数:
(线程组-定时器-Synchronizing Timer)

  • 模拟用户的数量:并发数

  • 超时时间(ms):设置等待时间,如果0则永久等待,直到满足模拟的用户数。非0,则等待指定时间,如果在时间内,则满足条件就释放,否则超时释放。
    添加HTTP请求元件
    在线程组中设置对应的线程数 ,配置需要测试的接口
    添加聚合报告元件:查看压测结果

    并发测试的场景

稳定性测试

主要作用:测试持续一段时间访问接口,测试接口的稳定性
主要配置:线程组设置循环次数永久,持续时间设置为10、30分钟。
可添加**统一随机定时器**元件:

  • 随机的最大时间(ms):在这个范围内进行随机
  • 常量延时时间(ms):固定的延时时间
    最后的延时时间=随机的时间+常量延时时间

业务场景测试

测试多个接口调用,模拟真实场景中接口调用,增加统一随机定时器模拟用户真实操作。
比如下单的流程涉及到:登录接口–浏览商品接口–添加到购物车接口-下单接口-支付接口

使用**事务控制器**元件进行管理这些接口,这些接口就属于一个事务流程,只要一个测试失败,则事务通过失败

负载测试

测试一个接口或者一个业务场景的支持量,可利用 jp@gc - Permon Metrics Collector 插件进行压力测试,逐步加压,查看每个阶段的响应数据、服务器监控指标,简单的确认出性能拐点。

接口测试

博文参考

### ### 分布式压力测试的配置与使用 JMeter是一个开源工具,适用于各种性能测试场景。在单机模式下,JMeter的负载能力有限,因此在需要大规模并发用户数时,分布式测试成为必然选择[^1]。通过多台机器协同工作,可以显著提高测试负载能力。 #### 环境搭建步骤 1. **安装Java环境**:由于JMeter是基于Java开发的,所有参与分布式测试的机器都需要安装Java运行环境。对于Ubuntu系统,可以通过命令`sudo apt install openjdk-11-jdk`来安装OpenJDK 11[^4]。 2. **下载并解压JMeter**:在每台机器上下载Apache JMeter,并将其解压到一个合适的目录中。确保所有机器上的JMeter版本一致以避免兼容性问题。 3. **配置主控机(Master)和执行机(Slave)**:主控机负责发送测试脚本到各个执行机,并收集执行结果;执行机则负责实际执行测试任务。在Windows环境下启动执行机时,需运行`jmeter-server.bat -Djava.rmi.server.hostname=IP_ADDRESS`,其中`IP_ADDRESS`应替换为执行机的实际IP地址[^5]。 4. **配置防火墙规则**:为了保证主控机能与执行机通信,必须开放必要的端口,通常是1099(RMI注册表端口)和其他可能被使用的端口。 5. **设置远程主机列表**:在主控机的JMeter安装目录下的`bin`文件夹中找到`jmeter.properties`文件,在此文件中添加所有执行机的IP地址到`remote_hosts`属性中,格式为`remote_hosts=IP1,IP2,...`。 6. **启动执行机**:在每一台执行机上启动JMeter服务器,等待来自主控机的任务指令。 7. **创建测试计划**:在主控机上设计测试计划,包括线程组、取样器、监听器等组件。测试计划完成后保存为`.jmx`文件。 8. **分发测试计划**:通过JMeter提供的功能将测试计划上传至所有执行机。这一步骤可以在JMeter图形界面中完成,也可以通过命令行实现。 9. **启动测试**:确认所有执行机已经准备好后,在主控机上启动测试。此时,主控机会向所有执行机发送开始测试的指令。 10. **监控与调整**:测试过程中,主控机可以实时监控各执行机的状态和测试进度。如果发现某些执行机负载过高或过低,可以动态调整任务分配策略。 11. **收集结果**:测试结束后,主控机会自动从所有执行机收集测试结果,并汇总成最终报告。 #### 注意事项 - 在进行分布式测试前,确保网络连接稳定可靠,防止因网络故障导致测试失败。 - 避免在执行机上运行不必要的应用程序,以免影响测试性能。 - 测试计划的设计应当尽可能贴近真实业务场景,这样才能更准确地反映系统的实际表现。 - 对于HTTPS网站,还需特别注意安全相关设置,例如信任证书等问题。 - 使用第三方插件可以生成更加直观详细的测试报告,提升测试效率。 ```bash # 示例命令 - 启动JMeter服务器 jmeter-server.bat -Djava.rmi.server.hostname=192.168.83.130 ``` 该命令展示了如何在Windows环境下启动JMeter服务器,并指定其RMI服务绑定的主机名或IP地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值