性能测试——Jmeter

一、对数据库进行压测

1、将需要用到的链接mysql的jar包放到jmeter的lib文件夹中
2、添加线程组,添加JDBC Connection Configuration,进行配置,填写数据库连接的用户名、密码、driver class、数据库地址、连接池名称3、添加 JDBC Request,填写连接池名称、SQL语句,选择Query Type,查询语句、更新语句、所有语句、预编译查询语句(长时间执行效率更高,支持占位符)
4、添加查看结果树,如果是进行压测的话需要添加聚合报告,禁掉查看结果树
5、 运行测试,查看查询结果6、设置集合点、线程数、循环控制器循环次数即可执行压测试)

二、Jmeter获取登录的token_u014516643的博客-CSDN博客_jmeter提取token

三、正则表达式提取器——关联

因为在测试过程过有些数据是经常发生变化的,要获取并使用这些数据,就要使用关联。
比如: 用户登录后,session信息都不同,有些操作要使用session,因为session里面会有userId、openId、businessId等一些信息,就需要将这个动态的信息保存下来。 还有经常遇到的场景,第二个请求提交的参数要从第一个请求的返回数据中获取。
1、右键点击添加正则表达式提取器
2、引用名称 输入 要查询的参数名称,输入正则表达式、模板、匹配数字:0代表正则表达式结果组中随机,1代表全部、缺省值:当引用不对时显示传递的信息,通常写一个ERROR。

四、Json Extractor提取器——关联 ,当传数据返回的是一个Json格式用的

进入JSON Extractor页面后,填写动态变化的参数名称、json表达式、匹配哪个,可为空即默认第一个、未取到值的时候默认值

五、用户参数——参数化(模拟设置多个变量、多个用户请求接口)

右键点击添加用户参数,可添加多个用户或者参数

六、参数化 —— 用户自定义变量

1、右键点击添加 “用户自定义变量”,添加要参数化的参数名称、参数值
2、test plan执行过程中不能发生取值的改变,因此一般仅将test plan中不需要随迭代发生改变的参数(只取一次的参数)

七、使用CSV文件——参数化

1、右键点击添加CSV数据文件设置,选择文件、设置编码格式、变量名。。。
2、引用参数的地方的地方,使用${变量名}这种格式3、然后运行,查看结果七、性能测试

八、性能测试

1、添加线程组,设置线程数、循环次数、Ramp-Up
2、添加http请求3、添加聚合报告,来查看测试结果
4、分析测试报告。一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。


image.png

聚合报告参数详解:

  1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
  2. Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
  3. Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
  4. Median:中位数,也就是 50% 用户的响应时间
  5. 90% Line:90% 用户的响应时间
  6. Min:最小响应时间
  7. Max:最大响应时间
  8. Error%:错误率——错误请求数/请求总数
  9. Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
  10. KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

九、响应断言——断言

用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。

  1. 添加响应断言。选择要检查的项,例如响应报文、响应头,选择模式匹配规则(Substring:返回结果是指定结果的字串)
  2. 输入需要匹配的字符串此处对于访问Baidu首页,需要设置匹配的字符串为“百度一下,你就知道”,表示返回的文本内容若包含有“百度一下,你就知道”,则就算Pass
    3、添加:断言结果、查看结果树
    4、运行Test Plan中的线程组,进行断言检查,以下可观察到响应数据中是包含所指定的验证字符串,Pass

十、持续时间断言, 判断是否在给定的时间内返回响应结果

右键添加,设置响应时间设置(单位:毫秒)、选择适用范围(Main sample only:仅作用于父节点取样器)

十一、脚本录制(APP端)

1.保证pc端、移动端在同一网络下
2.右键点击TestPlan(测试计划),-添加HTTP代理服务器
3.将 目标控制器 选择为 TestPlan》HTTP代理服务器, 端口是8888
4.打开移动端,进入网络,修改网络代理的ip(cmd---->ipconfig,查看WiFi环境下单ipv4)、端口
5.点击jmeter中的 启动,开始录制移动端 6.运行移动端的软件

十二、对接口进行压测

a.新建一个线程组。
b. 设置线程组参数。这里配置为:100个线程,同时启动,循环一次。
c. 新增http请求默认值。
d. 添加要压测的http请求。这里的 IP、端口不需要设置,会使用步骤c中设置的默认值,只需设置请求路径Path即可
e. 新增监听器,用于查看压测结果。这里添加三种:聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
f. 点击运行按钮开始压测,并查看结果。

十三、jmeter性能测试报告

  1. 性能测试背景
  2. 性能测试目标
  3. 性能测试范围
  4. 性能名词术语约定
  5. 被测环境系统架构
  6. 被测环境软硬件配置: 主机 数量 用途 配置 系统
  7. 负载机 软硬件配置
  8. 测试数据
  9. 硬件性能指标
  10. 测试进度 开始时间 结束时间 测试类别 测试目的 测试结果 测试报告 测试分析 等....
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,042评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,996评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,674评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,340评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,404评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,749评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,902评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,662评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,110评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,577评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,258评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,848评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,726评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,952评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,271评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,452评论 2 348

推荐阅读更多精彩内容

  • 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来...
    邵琼阅读 800评论 0 0
  • 性能测试 应用:负载测试,压力测试,并发测试,(非性能测试:但是jmeter能做接口测试) 负载测试: 在一定的软...
    HSome_Hin阅读 1,877评论 0 7
  • JMeter中的监听器有很多种 ,这里主要介绍常用的几种:聚合报告、图形结果、查看结果树以及断言结果。 聚合报告 ...
    Kingtester阅读 2,128评论 12 5
  • JMeter介绍: 一个非常优秀的开源的性能测试工具。 从性能工具的原理划分: Jmeter工具和其他性能工具在原...
    邵琼阅读 438评论 0 0
  • 一.下载及安装教程 1. http://jmeter.apache.org/download_jmeter.cgi...
    陌椰_5702阅读 1,794评论 0 2