jmeter性能测试步骤(如何使用JMeter进行性能和负载测试)
本文目录
- 如何使用JMeter进行性能和负载测试
- JMeter 接口/并发/性能测试(详尽版)
- Jmeter 分布式性能测试方案
- jmeter性能测试步骤是什么
- 性能测试工具(jmeter运行优化)
- Jmeter 压力测试并输出HTML报告
- Jmeter测试地图服务性能(二)--对地图服务进行压力测试
- Jmeter性能实战--实现接口压测完整流程(一)
- 使用Jmeter进行http接口性能测试
- jmeter混合场景性能测试
如何使用JMeter进行性能和负载测试
JMeter负载测试是使用一个名为Apache JMeter的负载测试工具完成的测试过程,Apache JMeter是一个基于Java的开源桌面应用程序。它还有助于分析高负载下的整体服务器。
JMeter性能测试是使用Apache JMeter测试Web应用程序性能的测试方法。JMeter for Performance Testing有助于同时测试静态和动态资源,有助于发现并发用户JMeter性能测试,包括Web应用的负载测试和压力测试。
Apache JMeter测试工具在性能测试方面提供以下好处
JMeter性能测试包括:
下图显示了JMeter负载测试如何模拟重负载:
在本教程中,我们将对1000名用户进行baidu.com的性能分析 。在测试目标Web应用程序的性能之前,我们应该确定-
以下是这个实际示例的路线图
右键单击“测试计划”,添加一个新的线程组:Add-》Thread(Users)-》Thread Group
在线程组控制面板中,输入线程属性,如下所示:
线程计数和循环计数不同。
启动周期告诉JMeter在启动下一个用户之前要延迟多长时间。例如,如果我们有100个用户和100秒的启动周期,那么启动用户之间的延迟将是1秒(100秒/100个用户)
现在我们确定此测试中的JMeter元素。这些元素包括
可以通过右键单击Thread Group并选择:Add-》Config Element-》HTTP request Defaults来添加此元素。
在Http request Defa所以不要惊慌!
如果在运行上述方案时遇到此问题.执行以下操作
浏览网页: https://www.itxiaonv.com/ ,了解更多IT信息
JMeter 接口/并发/性能测试(详尽版)
如果你还是看不到日志,你可以点击下面所示的三角箭头展开或者收起日志视图 9)结果分析(分析测试报告) 待性能测试执行完成后,打开聚合报告可以看到: 10) 脚本查看 可以使用器查看.jmx文件,如下图所示:
Jmeter 分布式性能测试方案
Jmeter 分布式工作原理 控制机: 分发脚本 和 回收响应数据 执行机: 一般使用服务器 Jmeter 分布式工作流程 1.选择其中一台作为调度机(master),其他机器做为代理机(Agent)。 2.执行时,master 会把脚本数据发送到每台 Agent上,Agent 拿到脚本后就开始执行,Agent执行时不需要启动GUI,通过命令行模式执行的 3.执行完成后,Agent 会把结果回传给 master,master会收集所有Agent的信息并汇总 分布式操作流程: 1.首先 保证脚本是可以运行的--本机运行是ok的 2.保证 执行机与控制机之间网络是ok,相互ping通 3.执行机与控制机的Jmeter 和 jdk 要版本一致 4.执行机里面的jmeter是可以运行的 运行jmeter cd ./apache-jmeter-5.1.1/bin ./jmeter.sh ./jmeter-server 5.关联控制机与执行机 (1)设置执行机的Jmeter 属性文件 (2)设置控制机的Jmeter 属性文件 (3)重启设置过的机器的 Jmeter工具 实战演示 一台控制机 + 一台执行机 准备工作:让执行机的jmeter-server 运行起来 jmeter 有两种运行模式 1.GUI 2.命令行代理机设置 1. 打开window本地,进入 cmd命令行,输入 ifconfig,查看 本地 IP地址为 192.168.1.101 2.登录远程服务器,ping 本地连接,保证联通 输入 ping 192.168.1.1013.登录远程服务器,查看本地ip 输入 ifconfig,查看服务器 ip 为 192.168.1.1044.打开 本地 cmd,ping 远程链接 输入 ping 192.168.1.1045. 执行机 jmeter.properties 设置 remote_hosts = 192.168.1.104:1099 server.rmi.ssl.disable=true 控制机 jmeter.properties 设置 remote_hosts = 192.168.1.101:1099,remote_hosts = 192.168.1.104:1099 server.rmi.ssl.disable=true 6.执行机启动jmeter 进入 bin 目录,执行 ./jmeter-server./jmeter-server-Djava.rmi.server.hostname=192.168.1.104
jmeter性能测试步骤是什么
把登陆改为cookie进行登陆。
负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能。
目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。
负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
性能测试工具(jmeter运行优化)
--- 最近用jmeter做了一次3万并发用户的性能测试,测试过程中对jmeter工具本身进行了几次优化,总计一下,希望对使用jmeter做性能测试的各位有一些帮助。 --- 主要是对日志内容和java内存的使用进行了一些优化,避免施压机端的瓶颈造成“OFFM”和“Time Out”错误。 1.Jmeter--运行优化 ---(1)jmeter输出html日志需要修改配置文件jmeter.properties ---修改参数如下: --- -Xms4G -Xmx64G -XX:MaxPermSize=2G(-Xms4G -Xmx64G -XX:MaxPermSize=2G,可适当调整Xmx为物理内存的1/3到1/2大小,-Xms可调整为流大小的2倍(例如流媒体最大流为1G,可设置Xms为2G;并相应的调整MaxPermSize=1G))
Jmeter 压力测试并输出HTML报告
在进行性能测试执行之前,需要进行场景的设计: 以什么方式启动,如何持续进行,直至测试结束
三部曲:启动---持续进行---结束
PS:一般情况下,建议限制Jmeter的的线程数在300及以内,这样能更好的发挥出jmeter的性能
测试步骤: 测试计划---线程组--HTTP请求---监听器---运行脚本---查看报告
PS:默认情况下,JMeter运行需要占用1 GB的内存,这可能还不够,取决于你的测试计划和需要运行的线程数
一个测试计划描述了一系列Jmeter运行时需要执行的步骤,可以包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件。
启动JMeter,会出现一个空的测试计划,此次练习通过手写脚本来实现 (不熟悉操作的,也可以通过模板的形式创建,在菜单栏文件--Templates,下拉列表中选择Recording,点击Create,一个完整的Test Plan就生成了,当然我们可以删除不需要的内容)
作用:模拟用户个数、发送请求的频率及次数 PS:设置合理的线程数对能否达到测试目标有着决定性的影响,另外,设置合理的循环次数也很重要
此处添加3个HTTP请求
1、添加响应断言 :设置响应码为200
2、查看结果树,验证请求 调试时线程数和循环次数设为1就可以了,记得调试好之后再改回去
3、禁用查看结果树,命令行执行脚本 我们在启动Jmeter时就会看到命令行的提示信息,进行负载测试时请不要使用GUI模式,也就是用命令行模式运行 JMeter 测试脚本,这样可以大大缩减所需要的系统资源
备注:GUI 即图形用户界面模式,只应用于创建测试脚本、调试脚本
图中也给出了命令格式: jmeter -n -t ,JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录,当然也可以使用绝对路径来执行
参数说明:
(1)直接生成HTML报告 PS:输出文件(-l后的文件)必须是不存在的,report文件夹为空文件夹或者不存在(-o后面的),不然无法生存报告 启动CMD窗口,输入以下命令: jmeter -n -t C:\Users\zhangXXX\Desktop\baidu.jmx -l C:\Users\zhangXXX\Desktop\html.csv -e -o C:\Users\zhangXXX\Desktop\baidu-reports
(2)使用之前的测试结果,生成测试报告 启动CMD窗口,先生成测试结果,再生成报告,输入以下命令:
PS:-g 指定已存在的测试结果文件
以上两种方法,其实最终都依赖生成的测试报告。双击报告文件夹中的index.html就可以查看报告
Dashboard: Test and Report informations:指的是测试和报告信息
APDEX(Application Performance Index):应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意,越接近1满意度越高
Requests Summary:请求的通过率(OK)与失败率(KO),百分比显示
Statistics:数据分析,基本将Summary Report和Aggrerate Report的结果合并
Errors:错误情况,依据不同的错误类型,将所有错误结果展示
Charts: 用图表的形式展示测试数据,让测试报告更加直观** 主要有如下特点: (1)将测试过程中经常使用的数据,用图表的形式展示,让测试结果更加直观 (2)每个图表数据,有两种展示形式 (3)支持请求样例过滤显示 (4)支持导出PNG图片格式
Over Time Charts:
Throughput Charts:
Response Times Charts:
4、添加所需监听器,导入日志文件即可查看 在性能测试过程中,我们往往需要将测试结果保存在一个文件当中,也可以为日后的性能测试报告提供更多的素材
在Jmeter中,结果都存放在 .jtl 文件中,格式有很多种,可以根据需要进行更爱,选择某个监听器,在 configure页面 进行相应配置,让我们来查看下保存后的文件有哪些内容:
接下来添加一个聚合报告,然后导入日志文件,查看结果,还可以添加其他的监听器,操作方法一样
PS:如果测试计划中增加了监听器(生成概要结果),在执行命令时就可以看到每个线程的执行情况
PS:设置好线程数、循环次数、集合点、事务、断言、关联等等后即可执行压力测试
原理和LR的agent差不多,因为jmeter由Java开发,耗内存、cpu,所以需要采用分布式
步骤: 1、关闭防火墙 2、在所要运行jmeter并作为负载生成器的机器上安装jmeter(确保在所有系统中使用了相同版本号的Jmeter和jdk) PS:目标服务器需要在相同网段,确保Jmeter可以访问目标服务器 3、确定其中一台机器作为主controller,其他的机器作为agent,然后运行所有agent机器上的jmeter-server文件 4、在controller机器的jmeter中bin目录下,找到jmeter.properties文件,添加节点IP,修改localhost为压力机IP
5、启动conttoller机子上的jmeter应用,选择菜单【运行】---远程启动来分别启动agent,也可以直接选择【远程全部启动】来将所有个agent启动
在性能测试过程中,我们通常需要将测试结果保存在一个文件当中,既可以保存测试结果,也可以为日后的性能测试报告提供更多的素材
Jmeter中,结果都存放在.jtl文件,一般以csv文件格式记录,只需要选择某个监听器,点击页面的configure按钮,建议勾选如下项:Save Field Name,Save Assertion Failure Message
技术点:HTTP相关设置+参数化+断言+关联+简单控制器+查看结果树 关联:通过Json控件或正则表达式获取 (1)线程组建议替换为jp@gc - Stepping Thread Group,功能比线程组多很多
(2)可以加事务控制器 (3)查看结果树替换为聚合报告或类似的报告,如果还是想看查看结果树记得勾选仅日志错误(查看结果树打印的日志比较多,会影响性能) (4)造数据
总结: 一个子系统建议放在同一个 “测试计划”中,流程测试可以通过“线程组”来区分,这样也便于设定不同的测试数据个数。 比较独立的接口,可以统一放在一个线程组内,顺序完成测试。
流程性接口的测试:如果要测试的接口可以组成一个流程,只需要顺序添加多个“HTTP 请求”的Sampler,各请求之间可以提取需要在上下文传递的数据作为参数,以保证流程中数据的一致性
Jmeter测试地图服务性能(二)--对地图服务进行压力测试
Jmeter性能实战--实现接口压测完整流程(一)
【备注】使用命令执行jmeter脚本 jmeter -n -t testplan/one.jmx -l testplan/result/result.txt -e -o testplan/webreport testplan/one.jmx 为测试计划文件路径 testplan/result/result.txt 为测试结果文件路径 testplan/webreport 为web报告保存路径 重新排版了下,哈哈
使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。 但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具 Apache JMeter - Apache JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。 下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。 获取某个具体网关设备的基本信息。 请求 方法:GET URI:/api/gateway/《gatewa执行一下,用“图形结果”监听器查看一下 样本数目:总共发送到服务器的请求数. 最新样本:代表时间的数字,是服务器响应最后一个请求的时间. 吞吐量:服务器每分钟处理的请求数. 平均值:总运行时间除以发送到服务器的请求数. 中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值. 偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.
jmeter混合场景性能测试
性能测试设计混合场景,一般有几种方式 分别是:1:每个场景设置一个线程组;2:使用if控制器;3:使用吞吐量控制器。 不同的方式实现机制不一样,个人觉得“使用吞吐量控制器”比较方便 场景设置:混合访问百度首页和cnblogs首页,按比例实现100个用户的并发压测,比例为:4:1 以下讲解下具体的方法 方法1:每个场景设置一个线程组 设置两个单独的线程组,线程组一请求百度首页(并发线程数设置80个),线程组二请求cnblogs(并发线程数设置20个)。 添加监听器-聚合报告,运行后查看报告,我们可以看到百度请求样本数80个,cnblogs请求样本数20个,这两个请求的比例为4:1 方法2:使用if控制器 步骤1:新建线程组,线程组下新建两个if控制器 步骤2:分别在两个if控制器下添加 运行结果后,我们可以看到访问baidu的http请求执行了80次,访问cnblogs的http请求执行了20次
本文相关文章:
台式电脑查看wifi密码(如何在台式电脑找自己的wifi密码)
2024年7月5日 10:30
苹果耳机序列号验证(苹果耳机怎么查真伪 如何查询苹果耳机真伪)
2024年7月5日 07:20
ibm服务器brd黄灯亮(你好,我的IBMX3650有F4故障灯,BRD亮黄灯,如何解决啊)
2024年7月3日 18:00
联想一体机b500怎么拆后盖图解(如何拆解联想一体机电脑六个步骤与大家分享)
2024年6月30日 18:00
笔记本电脑不能充电怎么解决(笔记本电脑的充电器充不上电应如何解决)
2024年6月30日 12:20
更多文章:
联想旭日125f硬盘换大容量(怎么扩大笔记本电脑硬盘容量呢)
2024年9月12日 17:40
oppofindx内外屏一起换多少钱(oppofindx换外屏多少钱)
2024年4月23日 20:30
rog笔记本重装系统(rog电脑重装系统跟原装系统哪个好用)
2024年6月3日 10:40
荣耀畅玩4c进水无法开机(请问大神,荣耀手机进水无法开机,照片如何恢复能推荐一下店或者高手吗非常感谢!)
2024年11月24日 07:20
iponexs和iponexr有啥区别(苹果xs和xr的区别,哪个好)
2024年6月29日 19:00
联想小新air14锐龙版和酷睿版(华为matebook142021款锐龙版与联想小新AIR14酷睿版哪个好)
2024年8月29日 03:20
联想miix310 10icr(联想ideapad miix 310-10icr开机黑屏怎么办)
2024年9月4日 00:50