jmeter自学笔记10----性能测试基础实战

李小未 李小未     2022-09-09     587

关键词:

1、测试需求:测试20个用户访问某个网站在负载达到30QPS时的平均响应时间。

QPS:Query Per Second每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作用域名系统服务器的性能经常用每秒查询率来衡量。

2、测试步骤:

  线程组主要包含三个参数:线程树、准备时长(Ramp-up Period(in seconds))、循环次数。

  * 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

  * 准备时长(单位为s):设置的虚拟用户数需要多长时间全部启动。如果线程数为20,准备时长为10,那么需要10秒启动20个线程。也就是每秒钟启动2个线程。

  * 循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为5,那么每个线程发送5次请求。总请求数为20*5=100.如果勾选了“永远”,那么所有线程会一直发送请求,一直到选择停止运行脚本。

第二部:增添HTTP请求

一个HTTP请求有着许多的配置参数,下面将详细介绍:

* 名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

* 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

* 服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。

* 端口号:目标服务器的端口号,默认值为80.

* Timeouts(milliseconds):设置请求和响应的超时时间。

* 协议:向目标服务器发送HTTP请求时的协议,可以是http或者https,默认值为http。

* 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

* Content encoding:内容的编码方式,默认值为iso8859

* 路劲:目标url路径(不包括服务器地址和端口)

* 自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter自动重定向到新的页面。

* Use keep Alive:当该选项被选中时,jmeter和目标服务器之间使用Keep-Alive方式(又称持久连接、连接重用)进行HTTP通信,默认选中。

* Use multipart/from-data for HTTP POST:当发送HTTP POST请求时,使用Use multipart/from-data方法发送,默认不选中。

* 同请求一起发送参数:在请求中发送URL参数,对于带参数的URL,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应url中的名称1=值1)。

* 同请求一起发送文件:在请求中发送文件,通常HTTP文件上传行为可以通过这种方式模拟。

* 从HTML文件获取所有有内容的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对应HTML进行分析并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match文本框中填入需要下载的特定资源表达式,这样,只有能匹配制定正则表达式的URL制定资源会被下载。

* 用作监视器:此取样器被当成监视器,在Monitor Results Listener中可以直接看到基于该取样器的图形化统计信息。默认为不选中。

* Save response as MD5 hash?:选中该项,在执行时仅记录服务器响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

tips 默认时间单位是毫秒  报告输出文件后缀 .jtl

 

第三部:设置QPS限制

  Jmeter提供了一个非常有用的定时器,称为Constant Throughput Timer(常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。

Constant Throughput Timer的主要属性介绍:

Target throughout(in samples per minute):目标吞吐量。注意这里是每分钟发送请求数,实际填的数值为:60*QPS其次Calculate Throughput based on:有5个选项,分别是:

60*30=1800

. This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput乘以该线程的数量。

. All active threads:设置的target Throughput将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

. All active threads(shared):与All active threads的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。

. All active threads in current thread group:设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。

. All active threads in current thread group(shared):与All active threads in current thread group基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。

第四部:添加监视器

  脚本的主要部分设置完成后,需要通过某种方式获得性能测试中的测试结果,在本例中,我们关心的是请求的响应时间。

  Jmeter中使用监听器元件收集取样器记录的数据并以可视化的方式来呈现。Jmeter有各种不同的监听器类型,因为上面HTTP请求,我们可在添加聚合报告,更为直观的查看测试结果。

  添加聚合报告,右键点击线程组,在弹的菜单(添加--->监听器---->聚合报告)中选择聚合报告。

  添加查看结果树(添加---->监听器---->查看结果树)

第五部:运行脚本

第六部:聚合报告分析

软件自动化测试全套视频教程

..._Project08Linux基础09LoadRunner10LR_Project11综合串讲12做笔试题13JMeter教程14Selenium课程15电子书16软件包02、Jmeter视频教程+项目实战1-1Jimeter基础视频1-2Jmeter性能测试2-1Jmeter+Apache2-2Jmeter_Script2-3jmeter测试实战视频2-4JMeter测试功能插件3-1jmeter... 查看详情

python自动化教程jmeter性能测试

参考技术Apython自动化教程Jmeter性能测试25套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白盒测试,UFT高级测试,Android测试,Selenium3自... 查看详情

全栈性能测试修炼宝典--jmeter实战

性能测试初体验1、测试分类  从图中可以看出,性能测试在整个软件测试环节中占了50%的内容,比如负载测试、压力测试、性能测试、大数据量测试、恢复测试、内容泄露测试、竞品测试(比较测试)和可靠性测试。2、性能... 查看详情

jmeter深入进阶性能测试进阶案例实战

第1章性能测试整体认知了解性能测试的目的,想做好性能测试都需要掌握哪些方面的技能(开发语言、操作系统、网络、工具等)。性能测试、稳定性、压力、疲劳、容量预估、多并发逻辑。掌握如何开始性能测试,并且掌握在性... 查看详情

jmeter深入进阶性能测试进阶案例实战

第1章性能测试整体认知了解性能测试的目的,想做好性能测试都需要掌握哪些方面的技能(开发语言、操作系统、网络、工具等)。性能测试、稳定性、压力、疲劳、容量预估、多并发逻辑。掌握如何开始性能测试,并且掌握在性... 查看详情

jmeter深入进阶性能测试体系,接口性能测试,各领域企业实战

jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安... 查看详情

jmeter全程实战性能测试实战分布式性能测试真实案例分析

测试需求描述1、本次测试的接口为http服务端接口2、接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联性,比较有代表性;保存信用卡账户... 查看详情

第二篇:linux系统jmeter性能测试笔记

参考技术Ajmeter性能jmeterP函数应用$__P__(thread,200)$__P__(step,20)$__P__(steptime,30)$__P__(duration,30)$__P__(duration,300)jmeter -n-t 待执行的性能脚本.jmx -l 结果文件(名字自己取).jtl -j 执行的log.log-e-o路径/测试报告名... 查看详情

性能监控实战(全栈性能测试修炼宝典jmeter实战-第九章)

用户响应时间=服务器响应时间+网络时间系统性能分析思路(1)整体系统CPU利用率(2)内存利用率(3)磁盘I/O的利用率和延迟(4)网络利用率 cpuCPU:top、vmstat、uptime、sar  一般我们期望会期望系统平均可用的CPU不少于20%... 查看详情

全栈性能测试修炼宝典--jmeter实战

性能测试方向职业发展1、软件测试发展路线  我们可以暂且把软件测试职业路线分为3个方向,分别是业务路线、技术路线、管理路线;4个象限,分别为执行层、中层、中高层过渡、高层。  (1)业务路线  常见业务路... 查看详情

jmeter自学笔记7----badboy与jmeter脚本录制

下载地址:http://www.badboy.com.auBadboy时一个强大的工具,旨在帮助测试和开发复杂的动态应用。Badboy包括一个简单而全面的捕获/回放界面,强大的负载测试的支持,详细的报告图表等等,从而使Web测试和开发变得更加容易。关于... 查看详情

一个使用jmeter做接口性能测试的实战案例

1安装并配置JmeterJmeter的安装不在这里阐述,安装步骤非常简单。直接进入主题1.1数据库连接配置由于测试过程需要调用数据库获取响应部署数据,因此需要先建立与数据库的连接。如果不涉及数据操作,可以跳过此步骤。步骤1... 查看详情

jmeter性能测试视频

jmeter性能测试视频 后端开发:1、2017龙果微服务架构的分布式事务解决方案2、2017年龙果springboot入门实战视频教程-首套中文教程3、51CTOSpringBoot实战与原理分析视频课程4、ElasticSearch5视频教程5、Elasticsearch顶尖高手系列:高手... 查看详情

jmeter性能测试从入门到精通

...来事半功倍从基础讲起,小白也能接受课程目标熟练掌握jmeter工具熟练使用jmeter进行脚本开发熟 查看详情

源码时代软测干货分享|jmeter性能测试实战(上)(代码片段)

确认被测项目的性能指标1.1性能测试指标性能测试指标,是性能测试中重要的测试依据,相当于测试用例中的预期结果,由于性能测试属于非功能性测试,在规范的项目中有专门的非功能性需求,但是在互联网高速发展的今天,为了早一... 查看详情

帮你排雷jmeter分布式性能测试那些坑~轻轻松松去实战

JMETER在做后端服务器性能测试中,我们会经常听到’分布式’。哪你,是否了解分布式呢?今天,我们就来给大家讲讲,在企业实战中,如何使用分布式进行性能测试,实战过程中,又有哪些地方... 查看详情

jmeter性能测试之基础知识

1.官网下载Jmeter:点这里,下载完成解压即可2.启动:进入解压后的bin目录,Windows点击jmeter.bat,Linux执行jmeter3.添加线程组(user):TestPlan-->Add-->Threads(Users)--> ThreadGroup,这里还有setUpThreadGroup和tearDownThreadGroup,前者是测试之前做的 查看详情

pytest基础自学系列(代码片段)

视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持&#x... 查看详情