Jmeter性能测试

超详细!Jmeter性能测试 性能是用来描述产品除功能外的所具有的速度,效率和能力的综合能力评价对产品或是物品的性能惊喜定性或是定量的量测过程在这个过程中我们使用一些工具来进行场景的模拟,从而进行性能测试JMeter介绍 JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter也可以应用的接口测试上。JMeter下载、安装及启动下载点击下载windows版本apache-jmeter-5.1.1.zip安装bin目录:启动命令。 阅读详情

Jmeter性能测试

一、性能测试介绍

1、什么叫做性能测试?


(1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试
(2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

2、性能测试的时间?

在功能测试完成后才能进行性能测试

3、为什么要做性能测试?


(1)评估系统的能力,
(2)识别体系中的弱点
(3)验证稳定性
(4)系统调优


4、性能测试的流程?

(1)性能需求分析 (标准)

(2)性能计划的编写
(3)性能场景的设计
(4)脚本的开发(录制脚本)
(5)性能环境和数据
(6)性能执行

(7)结果分析(是否标准)
(8)性能总结报告

(9)性能调优

5、性能的类型有哪些?

(1)基准测试
在给系统施加较低压力时,查看系统的运行状况并记录相关数作为基础参考
(2)负载测试(慢慢接近临界点测试)

负载测试是对被测系统不断增加压力(即用户并发数),直至性能指标超过预期或者某项资源使用达到饱和状态(就是加压到系统崩溃)

(3)压力测试(也称为破坏性测试)(超过临界点测试)
压力测试:压力测试是系统在一定饱和状态下,例如cpu、内存、磁盘I/O在饱和使用情况下,不断给系统施加压力,看系统的处理能力,以及系统是否会出现错误。
(4)稳定性测试
稳定性测试是在给系统施加一定压力,持续运行一段时间(7*24),观察系统能否稳定运行。(也可以说是长时间的压力测试)

(5)并发测试
并发测试:并发测试是模拟多用户并发访问同一个应用、模块或者数据记录时可能发生的性能问题(如内存泄漏、线程锁和资源占用方面的问题)

 6、性能测试常用的工具有哪些?


(1)jmeter   轻量级工具,免费,开源, (我们讲解的)
(2)loadrunn   商业版,收费,不易于安装,一个包4g包


7、性能测试文档包含哪些?


(1)性能测试测试计划

(2)性能场景设计用例

(3)性能报告

8、性能测试报告包含哪些内容?


(1)测试背景
(2)测试目的
(3)测试范围
(4)测试环境
(5)压测指标
(6)性能测试结果

(7)性能问题归纳

(8)性能调优

图片

二、熟悉性能报告

图片

 2. 性能问题

    •       (1) 提现申请接口3-5个线程并发时,容易引起死锁现象,经优化后,Tps达到224左右,且没有死锁现象出现;
    •           (2) 账单查询接口,优化索引前,响应时间为8s左右,Tps为11;优化索引后,响应时间缩短为0.15秒左右,Tps升为560左右



三、认识jmeter



(1)jmerer是一个什么工具?


Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 

(2)详细讲解jmeter目录下常用文件有哪些? 


bin目录:核心可执行文件
jmeter.bat:windows启动文件
 

图片

jmeter-server.bat:分布式压测使用的启动文件 

图片

jmeter.properties:核心配置文件 examples(例子):该目录下存放Jmeter官方给的请求模板

图片



report-template(报告模板):该目录下存放Jmeter的报告模板 templates(模板):该目录下存放Jmeter的各类配置模板 例如:JDBC、Beanshell等 

图片

(3)性能测试是生产环境还是测试环境?


性能测试要搭建性能环境,(不在测试环境和生产环境进行性能测试) 因为性能环境考验模拟线上环境,达到1:1比例; 通过造数据,jmeter 造大量数据,存储造大量数据 


(4)jmeter 作性能测试的缺点?


jmeter 的缺点是压力值不能精确控制,难以适应高并发情况,由于是java编写,本身比较消耗资源。 

(5)jmeter和loadrunner 的区别?


a.loadrunner 是一种预测系统行为和性能的负载测试工具。

b.loadrunner 能够最大限度地缩短测试时间,优化性能和加速应用系统的发布周期的商业工具 

c、jmeter 是开发源代码项目,可以进行接口测试和性能测试的工具,
d、相对loadrunnrt是一个轻量级的工具,便于安装

 

获取接口的方式:

第一种:

抓包:写入接口fiddler或f12

图片

第二种方式 :

录制脚本工具badboy 录制

1.点击安装包

图片

图片

图片

2.快捷方式到桌面

图片

图片

3.点击打开badoy

图片

4.导出接口

图片

图片

5.将录制的接口导入到jmeter种

图片

图片

图片

第三种方式:

jmeter中有反向代理录制脚本

1.工作中添加http代理服务器

图片

2.编辑代理服务器

图片

(1)端口号

端口:

默认为8888,可修改。但要注意,端口不能被其它程序占用,端口信息要与浏览器设置保持一致。

cmd.exe中使用如下命令检查端口使用情况:

1)netstat -an    --列出本机所有使用端口信息

2)netstat  -aon|findstr "8888"  --查询端口是否被占用

3)tasklist|findstr "8888"  --查询对应端口被什么程序占用

端口号:8888(默认)改成不常用的端口号避免端口号冲突;如8800

目标控制器:使用录制控制器(默认)后面根据情况进行更改

图片

如上就是没有占用

2.操作浏览器(打开浏览器)

图片

3.打开代理,填写参数

图片

图片

4.开启jmeter中的代理

图片

5.启动后就在页面访问,录制到接口

图片

图片

以上是录制了所有的功能

要录制的要排除不需要的接口

图片

测试计划 -> http代理服务器 -> requests filtering -> 排除模式 ,录制时排除在外的内容:

.*\.(js|css|PNG|jpg|ico|png|gif).*

图片

图片

实战性能

1.单接口性能测试(同一用户进行压力测试)

POST http://49.233.201.254:8080/cms/manage/loginJump.do

POST data:

userAccount=admin&loginPwd=123456

图片

按100 压力测试

(1)在线程中修改虚拟用户数

图片

图片

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

Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要50秒钟启动500个线程,也就是每秒钟启动10个线程。

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

Delay Thread creation until needed:直到需要时延迟线程的创建。

调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)

持续时间(秒):测试持续时间,会覆盖结束时间

启动延迟(秒):测试延迟启动时间,会覆盖启动时间

启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。

结束时间:测试结束时间,持续时间会覆盖它。‘

(2)添加查看结果树

图片

(3)添加聚合报告

图片

图片

聚合报告参数详解:

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

95% Line:90% 用户的响应时间

99% Line:90% 用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:错误率——错误请求数/请求总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

一般而言,性能测试中我们需要重点关注的数据有:

#Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量

2.单接口性能测试(不同用户进行压力测试)

(1)登录接口设置变量

图片

(2)后台造数据用户(10个)

(3)通过前置处理中的用户参数或csv data config

图片

(4)在线程中设置虚拟用户

图片

(5)查看结果树,聚合报告,图形报告,表格报告

图片

(6)查看结果树结果

图片

(7)聚合报告

图片

(8)表格报告

图片

(9)图形报告

图片

3.一个场景的接口测试(压力测试同一用户)

一个场景:登录接口,

POST http://49.233.201.254:8080/cms/manage/loginJump.do

POST data:

userAccount=admin&loginPwd=123456

用户查询成功

POST http://49.233.201.254:8080/cms/manage/queryUserList.do

POST data:

startCreateDate=&endCreateDate=&searchValue=&page=1

(1)将两个接口填入到jmeter 或录制到jmeter中

图片

(2)将接口调通:

加cookie,加请求头等

图片

(3)填写虚拟用户数和等待时间

图片

图片

性能场景测试

一、不同用户一个场景压力测试

1.更改变量 

图片

2.前置处理中添加用户参数,导入用户

图片

图片

3.填写查询用户接口

图片

4.接口有依赖关系,添加cookie值

图片

5.添加查看结果树,聚合报告等

图片

二. 并发测试

同一时间,同一个点进行接口测试

图片

图片

集合点的概念:

loadrunner中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作实现性能测试的最终目的。jmeter

中使用Synchronizing Timer实现Lr中集合点的功能,模拟多用户并发测试,即多个线程在同一时刻并发请求。

1、线程组右键 -> 定时器 -> Synchronizing Timer

2、参数设置

a. Number of Simulated Users to Group by: 此处填写并发数量

b. Timeout in milliseconds: 超时时间设置

Jmeter默认没有超时时间,如果没有设置,一旦没有达到集结数量的请求系统就一直

等待。

图片

计算超时时间方法参考:

并发数量 * 1000毫秒/ 线程数/在多少时间启动这么多线程

10*1000/(10/10)=10000

定时器作用域:

作用于该定时器之后的所有请求,也就是说定时器实在请求执行前起作用的并发数和线程数一致时,并发启动时间,一定要大于线程组启动,如果小于这个时间,并发数量不准确。

(注意:线程组整理的启动时间单位是秒,定时器里的等待时间是:毫秒 ,哟啊注意单位换算,1秒=1000毫秒)

图片

三.基准测试

较小的压力进行性能测试

图片

图片

四.稳定性测试

图片

使用Jmeter进行性能测试 阅读详情

相关推荐

jmeter性能测试

每秒事务数,通常指每秒成功的事务数,代表着服务器的处理能力,监控服务器TPS的表现如整体趋势、实时平均值走向、稳定性等,是性能测试中最重要的指标之一。正则表达式,最简单的办法是在响应数据中把要提取的目标值左右若干字符包含目标值的一行拷贝出来,粘贴到正则表达式框内,在把目标值用一对小括号替换,括号里用添上合适的匹配符本例如(.*);模板通常固定填$1$;当测试需求是要求逐渐增加负载型的压力测试场景时,使用该线程组,例如:测试场景共有30个线程,每5秒增加2个线程,持续运行60秒,最后每5秒停止2个线程。

jdhfjb的专栏 2041

性能测试从入门到精通 JMeter完全指南(下)

成功失败创建 Test Plan添加 Thread Group配置 Thread Group 参数添加 HTTP Request Default添加 HTTP Header Manager添加第一个 HTTP Request添加 View Results Tree运行测试检查结果🎉 基础脚本完成!调试排查 Step 2: 添加 HTTP 请求 Step 3: 添加监听器 5.2 参数化(数据驱动测试) #mermaid-svg-8hfKVHc8BCOyFWH7{font-family:"trebuc

lw的博客 1114

jmeter性能测试案例实战讲解,一文全面系统学习Jmeter性能测试

3.1性能指标四个字总结:多、快、好、省。多:对应的就是并发量快:延时、响应时间好:稳定性(长时间运行)省:资源使用率3.2、性能指标的描述:3.2.1、响应时间:对请求作出响应所需要的时间,是用户感知软件性能的主要指标(端到端的)响应时间包括:1.用户客户端呈现时间2.请求\响应数据网络传输时间3.应用服务器处理时间4.数据库系统处理时间思考:响应时间多少合理?答:2、5、8秒原则3.2.2、并发用户数并发用户数的概念:系统用户数、在线用户数、并发用户数。

m0_37449634的博客 2679

手把手教你接口性能测试JMeter性能测试

上面我们简单介绍了Jmeter如何进行接口测试的,下面我们更进一步,在接口功能测试完善的基础上,开展接口的另外一个层面的性能测试工作。在本篇中,我们对JMeter工具作了简单的介绍,且分别从接口测试以及接口并发测试的层面进行了图文介绍。对于接口性能测试方面,应当还涉及到相应的服务器性能监控,以及性能监控时需要观测的性能点,尤其是在开展性能测试之前需要进行性能测试的需求分析、制定测试计划、编写和调试测试脚本、收集测试结果、分析测试数据整合性能测试报告,诸多流程中涉及到很多细节,

weixin_67553250的博客 2万+

JMeter性能测试,完整入门篇

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547Apache JMeter是一款纯java编写负载功能测试性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整...

LAMO 63万+

JMeter性能测试,完整入门篇教程

1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows ...

... 16万+

Jmeter性能测试指标

一、性能测试概念 性能:事务、物品的某些特性的评价值 性能测试:通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试 二、性能测试指标 性能指标分为两个方面: 系统指标(与用户场景和需求相关指标) 资源指标(与硬件资源消耗相关指标) 1.响应时间 从发起请求到收到请求响应的时间 响应时间=网络响应时间+应用程序响应时间=(N1+N2+N3+N4)+(A1+A2+A3) 2.并发数 单位时间内发起请求的用户数 并发用户数C,计算公式C=nL/T n:每天访问系统的用户数 L:在

weixin_44898291的博客 5379

jmeter性能测试步骤入门

一、Jmeter简介 1 概述 jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ(现在称为如 Apache Tomcat 项目)的性能进行测试。 Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。 以下是一些 JMeter 的特点: 它是免费的。开放源码软件。 ...

m0_68405758的博客 3万+

使用 JMeter 进行 Dubbo 性能测试

1 前言 说道性能测试工具,你会立刻联想到哪一个?ab(ApacheBench)、JMeter、LoadRunner、wrk…可以说市面上的压测工具实在是五花八门。那如果再问一句,对 Dubbo 进行性能压测,你会 pick 哪一个?可能大多数人就懵逼了。可以发现,大多数的压测工具对开放的协议支持地比较好,例如:HTTP 协议,但对于 Dubbo 框架的私有协议:dubbo,它们都显得力不从心了。...

徐靖峰的专栏 3792

Jmeter 性能测试入门

1、Jmeter 简介 Jmeter是Apache组织开发的基于Java的压力测试工具。Jmeter被广泛应用到测试领域,可做接口测试、压力测试性能测试等。本文介绍Jmeter性能测试 2、Jmeter 安装 2.1、JDK安装 安装后配置系统环境变量,参考这一篇DOS窗口下运行HelloWorld显示错误:找不到或无法加载主类文章配置 2.2、Jmeter 安装 Jmeter 安装...

全村的希望的博客 1857

Jmeter接口性能测试方案

所 有 的 代 码 注 意 事 项 已 经 在 脚 本 中 用 注 释 形 式 全 部 展 现 . 请 阅 读adminportalForAadminPortal.java 源码. 注意事项,在编写完 main 函数之后,有必要进行 testng 单元测试. 在 Cmd 环境下找到工程目录,获取依赖的 JAR 文件.和 Jmeter 需要调用的带有 MAIN 函数的 JAR 文件.dubbo 的配置文件(dubbo.properties)及引入的 dubbo 服务设置(dubbo_config.xml).

专注于技术分享的博主 1405

jmeter性能测试步骤

一、下载安装及使用 下载地址:jmeter-plugins.org 安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。 启动jemter,点击选项,最下面的一栏,如下图所示: 打开后界面如下: Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件; Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过

学Java,找哪吒 2万+

【软件测试Jmeter性能测试性能测试Jmeter使用与结果分析)

性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。本文简单讲述了性能测试以及性能测试工具Jemeter。另外,我会将其他测试相关的文章也放在这个系列。

风过孤屿,山海自成诗行。 16万+

Jmeter性能测试性能测试Jmeter使用与结果分析)

性能测试就是通过特定的方式对被测试系统按照一定测试策略施加压力,获取该系统的响应时间、TPS、吞吐量、资源利用率等性能指标,来检测系统上线后能否满足用户需求的过程。ApacheJMeter ,是一个100%纯Java的开源软件,旨在加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能。相较于世面上一些其他性能测试工具,Jmeter是为数不多的既好用又开源免费的测试工具。

别人的故事,是参考答案,而不是标准答案 3142

如何用Jmeter性能测试

软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试

MXB_1220的博客 2108

jmeter常用插件介绍

jmeter作为一个开源的接口性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,但其本身作为一个开源工具,相比于一些商业工具(比如LoadRunner),在功能的全面性上就稍显不足。 这篇博客,就介绍下jmeter的第三方插件jmeter-plugins.org和其中常用的几种插件使用方法。 一、下载安装及使用 下载地址:jmeter-plugins.org 安装:下载后文件为plugin...

weixin_44929594的博客 1394
上一篇: Jmeter操作(数据库)
下一篇: Jmeter压力测试(Nmon)
zzhz925
博客等级 码龄2年 214粉丝 · 33原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值