性能测试+Jmeter

一.性能测试

          1 .性能:时间:系统处理用户请求的响应时间     资源:系统运行过程中,系统资源的消耗情况

          2.性能测试:(1).概念:通过工具来模拟系统正常、异常、峰值场景对系统各项性能指标测试

                                (2).原因:①.评估当前系统能力  ②.获取系统性能瓶颈,进行性能优化  ③.招聘需求

                                                ④.评估系统是否满足未来的需求

                                (3).分类:基准测试:建立基准线,当系统软硬件环境发生变化后再进行基准测试以确定变化对                                                               性能的影响.(单用户测试)

                                                *负载测试:通过逐步增加系统负载,确定在满足性能指标的情况下,找出系统所能                                                                  承受最大负载量的测试.

负载测试

                                                  *稳定性测试:在服务器稳定运行的情况进行长时间测试,并最终保证服务器能满足                                                                    线上业务需求

                                                   压力测试:在强负载下测试,查看系统在峰值下是否功能隐患、系统是否具有良好                                                                   的容错能力和可恢复的能力。

压力测试场景

                                                  并发测试:在极短时间内,发送多个请求,来验证服务器对并发的处理能力

并发测试

                                (4).性能指标:①.响应时间:发送请求+服务器处理请求+接受响应

                                                                              *258原则:响应时间2s为优秀  5s为一般  8s为bug 超8s严重bug

                                                        ②.并发用户数:同一时刻向发送请求的用户数,秒杀、请购、红包等

                                                        ③.吞吐量(throughput):单位时间内处理请求数

                                                        ④.QPS(Query per second):每秒查询数,单位时间内服务器处理请求数

                                                        ⑤.TPS(Transaction per second):每秒事务数,单位时间内服务器处理事务请                                                                                                           求数.

                                                          *QPS与TPS不一样的区别:QPS:处理单个请求   TPS:处理多个请求

                                                        ⑥.点击数:页面所有元素请求数量

                                                        ⑦.错误率:失败个数.(在满足系统指标的情况下,失败的个数)

                                                        ⑧.资源使用率:系统各种资源的使用情况率=资源使用量/总资源可用量x100%

常用资源指标

           3.性能测试工具:jmeter、loadrunner

二.Jmeter

           1.下载安装即启动:配置环境变量→找到jmeter解压→打开bin→打开jmeter.bat 即启动

           2.基本使用:测试计划→线程组(线程数、准备时间、循环次数)→采样器(http)→监听器(聚合报告、察看结                                 果树、用表格查看)

           3.组件介绍:①.测试计划:jmeter性能测试起点,其他元件容器

                                    ②.线程组:性质相同的一组线程     线程数:模拟用户数  

                                         准备时间:启动所有用户所用的时间   循环次数:在时间内创建完所有的线程

                                    ③.采样器:http:协议、主机地址、端口(选填)、请求方法、路径、编码格式(选填)、参数

                                    ④.监听器:采集测试结构   ample# 放前面表示: 样本个数 后面表示:案例编号

                                                 (1).察看结果树:采样器结果、请求、响应数据

                                                 (2).聚合报告

聚合报告

                                                  (3).用表格查看

用表格查看

                                      ⑤.循环控制器:控制单个采样器或单个事务的执行次数

                                      ⑥.事务控制器:(事务就是多个操作的组合)勾选

                                           作用:事务控制器会生产一个额外的采样器,用来统计控制器子结点的所有时间

                                      ⑦.断言:用来判断请求响应的结果是否如用户所期望的.

                                           1.Json断言:判断某个key对应某个value       2.响应断言:响应中包含某个串

                                      ⑧.前置处理器和后置处理器:负责在生成请求之前和之后完成工作

                                           前置处理器常用来修改请求的设置,后置处理器则常常用来处理响应的数据

                                      ⑨.定时器:定义请求之间的延迟间隔

            4.jmeter组件参数化:①.参数化:动态的获取并设置数据

                                              ②.为什么使用参数化:人工效率低 、安全高效 、模拟多个用户同时登录系统

                                              ③.参数化实现功能:1.用户自定义变量

                                                                                 (1).作用:提供全局变量,方便修改

                                                                                 (2).使用:配置元件 → 用户定义的变量 → key value → ${key}

                                                                             2.CSV Data Set Config

                                                                                  (1).配置文件:a.txt中添加字段如1,2,1   2,3,2   3,4,3(英文) →几条循环几次

                                                                                  (2).添加元件:CSV data set config → 选中文件 → 编码 → 字段1,字段2

                                                                                  (3).在采样器界面:添加参数 → 调用${字段名称}

                                                                              3.使用Jmeter函数助手(文件中不要出现中文)

                                                                               工具 → 函数小助手 → 选择CSV Read → 复制文件路径 → 字段编号 → 生成 → 自动复制,过去粘贴

            5.Jmeter正则表达式提取:可以从请求的响应结果中取到需要的内容从而实现关联.(关联是请求与请求之间存在数据依                                                          赖关系,需要从上一个请求获取下一个请求需要回传回去的数据)

                                       (1).正则语法:* + ? . ()

                                       (2).实现:①添加HTTP请求,使用正则提取一个需要字段

                                                        ②在第一个HTTP请求里边调用字段${字段}

正则表达式

             6.Jmeter脚本录制:(1).概念:使用工具录制请求脚本

                                           (2).作用:方便并发压力测试

                                           (3).分类:①.APP:添加非测试元件→添加录制控制器→HTTP代理服务器,设置目标控制器为刚刚创建的录制控制器→设置端口、IP→手机请求网络→在录制控制器里边

                                                        ②.Web: badboy:地址,录制(蓝色背景正在录制),导出脚本

          7.压测:1.连接数据库:(1).添加jar包:mysql-connector-java-8.0.11.jar

                                             (2).配置元件→JDBC connect configuration

                                                    ①.连接池名字    

                                                    ②.DataBaseURL:jdbc:mysql://127.0.0.1:3306/mydb2(可变)?serverTimezone=UTC&allowMultiQueries=true

                                                    ③.JDBC driver class:com.mysqljdbc.driver

                                                    ④.UserName:数据库名称    ⑤.password:数据库密码

                                             (3).采样器→JDBC request:①.连接池名称:池名    

                                                                                           ②.查询类型:

                                                 select statement:功能:查询    注意:只支持单条查询,只支持第一条数据查询

                                                updata statement:功能:修、添、删  注意:同时支持新增和修改,但查询只能放在最后

                                                callable statement:支持查询、修改   支持多个查询

                                                preoared select statement:功能:参数化 

                                                                                           操作:①.sql中用?代替参数值  

                                                                                                     ②.添加CSV data set config

                                                                                                     ③.Parameter Values:${变量名}

                                                                                                     ④.Parameter Types:值的类型,只能varchar

                                                                                             ③.SQL语句

                   2.Windows压测:(1).添加jar包:JMeterPlugins-Extras.jar、JMeterPlugins-Standard.jar到lib/ext

                                               (2).监听服务:server-agent,双击启动

                                               (3).给服务器(用本地数据库模拟服务器)添加监听器-jp@gc - PerfMon Metrics Collector

                                               (4).添加性能指标,线程组设置线程数和时间:①.CPU   ②.Memory  ③.disk IO  ④.network IO

                                               (5).压测:线程组:线程数(500等不限)pamp-Up时间(60不限)

                  3.Linux压测(与Windows压测一致)      

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容