继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JMeter压测学习:新手入门教程

一只名叫tom的猫
关注TA
已关注
手记 516
粉丝 62
获赞 330
概述

JMeter是一个强大的开源负载测试工具,广泛用于Web应用的压力和性能测试。本文将详细介绍JMeter的下载安装、创建压测脚本、参数化与关联、施压与结果分析等步骤,帮助读者全面掌握JMeter压测学习。

JMeter简介与下载安装

JMeter是什么

JMeter是一个开源的负载测试工具,主要用于对Web应用进行压力和性能测试。它能模拟多个用户访问Web应用或网站,以检验应用在高并发情况下的性能表现。JMeter不仅可以用于测试Web应用,还可以用于测试数据库、FTP服务器、JMS、HTTP等应用。

JMeter的下载与安装

JMeter的最新版本可以从Apache JMeter官方网站下载。下载完成后,解压文件夹即可,无需进行安装步骤。

JMeter的界面介绍

打开JMeter后,可以看到主要的界面组成部分:

  • 菜单栏:包括文件、运行、窗口等选项。
  • 工具栏:包括新建测试计划、打开已有测试计划、保存测试计划、运行测试计划等按钮。
  • 测试计划树:主要用来创建和组织测试计划。测试计划中可以包含线程组、采样器、监听器等元素。
  • 配置面板:在选中某个元素时,可以在这里设置其属性。
  • 结果树:显示采样器请求的响应信息。
  • 监听器:用于查看测试结果的数据,如查看响应时间、成功率等。
创建第一个压测脚本

脚本创建步骤

  1. 打开JMeter后,从菜单栏选择“文件” > “新建”,创建一个新的测试计划。
  2. 在测试计划中,右键点击,选择“添加” > “线程(用户)” > “线程组”,新建一个线程组。
  3. 在线程组中,右键点击,选择“添加” > “采样器” > “HTTP请求”,添加HTTP请求。
  4. 在配置面板中,设置HTTP请求的相关参数,如请求的方式、请求的URL等。
  5. 保存测试计划。

选择合适的协议

JMeter支持多种协议,包括HTTP、HTTPS、FTP、SOAP、JMS等。在添加采样器时,需要根据目标应用的协议选择相应的采样器。

添加请求

在测试计划中添加HTTP请求的步骤如下:

  1. 打开JMeter,新建一个测试计划。
  2. 在测试计划中,右键点击,选择“添加” > “线程(用户)” > “线程组”。
  3. 在线程组中,右键点击,选择“添加” > “采样器” > “HTTP请求”。
  4. 在配置面板中,设置请求类型、协议(HTTP/HTTPS)、服务器名称或IP地址、端口号、路径等信息。

例如,要测试一个简单的HTTP GET请求,可以设置如下:

请求类型:GET
协议:http
服务器名称或IP地址:www.example.com
端口号:80
路径:/index.html

参数化与关联

参数化的作用

参数化可以将测试数据从脚本中分离出来,提高脚本的可维护性和灵活性。例如,利用参数化可以将用户名和密码等信息从脚本中抽取出来,这样在不同的测试场景中,只需要修改参数文件中的内容,而不需要修改整个脚本。

使用CSV Data Set Config进行参数化

CSV Data Set Config允许用户从CSV文件中读取数据,并将其作为参数值插入到测试计划中。

  1. 在线程组中,右键点击,选择“添加” > “配置元素” > “CSV Data Set Config”。
  2. 在配置面板中设置CSV文件的路径、变量名、变量的分隔符等信息。

例如,假设有一个CSV文件 users.csv,内容如下:

user1,pass1
user2,pass2

设置CSV Data Set Config如下:

文件路径:users.csv
变量名:username,password
分隔符:,

然后在HTTP请求中使用${username}和${password}作为参数值。

关联的概念与实现

关联是JMeter中将一个请求的响应数据保存为变量,用于后续请求中的概念。关联通常用于处理动态数据,如登录时的token。

例如,假设需要从登录响应中获取token,并用于后续的请求。可以使用正则表达式提取器实现:

  1. 在登录请求中,右键点击,选择“添加” > “后置处理器” > “正则表达式提取器”。
  2. 在配置面板中,设置正则表达式规则,提取token值。
  3. 在需要使用token的请求中,直接使用提取的变量名。

例如,假设登录响应中token的格式如下:

<token>1234567890</token>

可以使用如下设置提取token:

引用名称:token
正则表达式:<token>(.*?)</token>
匹配组:1

然后在后续请求中使用${token}。

施压与结果分析

执行测试

执行测试的步骤如下:

  1. 在测试计划中,找到线程组。
  2. 在线程组中设置线程数、循环次数等参数。
  3. 点击工具栏中的绿色“启动”按钮,运行测试计划。

例如,设置线程数为10,循环次数为100次,可以观察到10个虚拟用户会执行100次登录操作。

查看测试结果

测试执行完成后,可以查看测试结果。JMeter提供了多种监听器来查看测试结果,常见的监听器包括:

  • 查看结果树:显示每个请求的详细响应信息。
  • 聚合报告:提供每个采样器的聚合统计信息,如平均响应时间、吞吐量等。
  • 响应时间图形结果:以图形的方式显示每个样本的响应时间。

例如,使用聚合报告查看总体性能:

  1. 在测试计划中,右键点击线程组,选择“添加” > “监听器” > “聚合报告”。
  2. 运行测试计划后,可以在聚合报告中查看统计信息。

生成测试报告

生成测试报告可以帮助更好地分析性能测试的结果,通常可以导出为HTML格式。

  1. 在测试计划中,右键点击线程组,选择“添加” > “监听器” > “查看结果树”。
  2. 运行测试计划后,选择“文件” > “另存为” > “HTML格式”保存结果。
常见问题与解决办法

常见错误及解决方法

  1. 采样器请求失败:检查请求的URL、请求方法、参数等是否正确。
  2. 线程组配置错误:检查线程数、循环次数等配置是否符合预期。
  3. 监听器没有显示数据:检查监听器是否正确添加到测试计划中。
  4. CSV文件路径错误:确保CSV文件路径正确,文件格式符合要求。

例如,如果使用CSV Data Set Config时没有读取到数据,可以检查文件路径是否正确,CSV文件是否符合格式要求。

性能优化建议

  1. 分批加载:如果测试计划中有大量的HTTP请求,可以考虑使用分批加载模式,减少资源消耗。
  2. 减少测试计划复杂度:确保测试计划简洁,只包含必要的元素。
  3. 并行运行:如果有多台机器,可以使用分布式测试,将负载分发到多台机器上。

例如,使用分批加载模式可以减少内存消耗:

  1. 在线程组中,勾选“使用共享的多线程池”。
  2. 设置线程池大小,使之小于线程数,如线程数为100,可以设置线程池大小为10。

日志查看与分析

JMeter提供了详细的日志记录功能,通过查看日志可以帮助定位问题。

  1. 开启日志记录:在“选项” > “日志设置”中,开启日志记录。
  2. 查看日志文件:JMeter的日志文件位于jmeter.log文件中。
  3. 分析日志信息:通过查看日志文件,可以定位请求失败的具体原因。

例如,如果在测试中遇到请求失败的问题,可以查看日志文件中的错误信息:

2023-10-25 10:00:00,000 ERROR jmeter: Request failed with status code 500
JMeter的进阶应用

监控系统性能

JMeter不仅可以用于测试Web应用,还可以用于监控系统的整体性能,如CPU、内存等。

  1. 使用JMeter插件:可以安装如JMX PerfMon插件,用于监控系统的性能指标。
  2. 配置监控参数:在插件中配置需要监控的指标,如CPU使用率、内存使用率等。

例如,使用JMX PerfMon监控CPU使用率:

  1. 在JMeter中,安装JMX PerfMon插件。
  2. 在测试计划中,右键点击,选择“添加” > “监听器” > “JMX PerfMon Metrics Collector”。
  3. 在配置面板中,设置监控的主机名、监控的指标等信息。

例如,使用JMX PerfMon监控CPU使用率:

  1. 在JMeter中,安装JMX PerfMon插件。
  2. 在测试计划中,右键点击,选择“添加” > “监听器” > “JMX PerfMon Metrics Collector”。
  3. 在配置面板中,输入监控的主机名,并选择需要监控的指标,如CPU使用率。

使用监听器进行数据监控

JMeter提供了多种监听器,可以用于监控测试结果的数据,如聚合报告、响应时间图形结果等。

例如,使用聚合报告查看响应时间:

  1. 在测试计划中,右键点击线程组,选择“添加” > “监听器” > “聚合报告”。
  2. 运行测试计划后,可以在聚合报告中查看每个采样器的响应时间、吞吐量等信息。

界面定制与插件扩展

JMeter的界面默认较为简单,可以通过安装插件来增强功能。

  1. 安装插件:可以访问JMeter插件管理器,安装如View Results TreeAggregate Report等插件。
  2. 配置插件:在测试计划中,添加插件,并根据需要配置相应的参数。

例如,安装并使用View Results Tree插件:

  1. 从插件管理器中安装View Results Tree。
  2. 在测试计划中,右键点击线程组,选择“添加” > “监听器” > “查看结果树”。
  3. 运行测试计划后,可以在“查看结果树”中查看每个请求的详细响应信息。

总结起来,JMeter是一个功能强大的负载测试工具,通过本文的学习,新手可以顺利上手JMeter,进行基本的压测脚本创建、参数化、关联、施压以及结果分析。通过进阶部分的学习,也可以进一步掌握JMeter的高级功能,如监控系统性能、使用监听器、界面定制与插件扩展等。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP