Jmeter分布式压测入门笔记

22、常用压力测试工具对比

            简介:目前用的常用测试工具对比

                1、loadrunner

                        A:性能稳定,压测结果及细粒度大,可以自定义脚本进行压测

                        B:但是太过于重大,功能比较繁多

                2、apache ab(单接口压测最方便)

                        A:模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存

                        B:但却会给目标服务器造成巨大的负载, 简单DDOS攻击等

                3、webbench

                        A:webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果。

章节二 JMeter4.x基础知识讲解和压测实操

3、Jmeter基本介绍和使用场景

简介

        1、压测不同的协议和应用

                1) Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)

                2) SOAP / REST Webservices

                3) FTP

                4) Database via JDBC (数据库)

                5) LDAP  轻量目录访问协议

                6) Message-oriented middleware (MOM) via JMS

                7) Mail - SMTP(S), POP3(S) and IMAP(S)

                8) TCP等等

        2、使用场景及优点

                1)功能测试

                2)压力测试

                3)分布式压力测试

                4)纯java开发

                5)上手容易,高性能

                4)提供测试数据分析

                5)各种报表数据图形展示

        3、本地快速安装Jmeter4.x

                简介:GUI图形界面的安装

                        1、需要安装JDK8。或者JDK9,JDK10

                        2、快速下载

                            windows:    http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip

                            mac或者linux:   http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz

                        3、文档地址:http://jmeter.apache.org/usermanual/get-started.html

                        4、建议安装JDK环境,虽然JRE也可以,但是压测https需要JDK里面的 keytool工具

                        5、Jmeter目录文件讲解

                                简介:讲解jmeter解压文件里面的各个目录,文件等

                                        1、目录

                                        bin:核心可执行文件,包含配置

                                        jmeter.bat: windows启动文件:

                                        jmeter: mac或者linux启动文件:

                                        jmeter-server:mac或者Liunx分布式压测使用的启动文件

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

                                        jmeter.properties: 核心配置文件

                                        extras:插件拓展的包

                                        lib:核心的依赖包

                                        ext:核心包

                                         junit:单元测试包

                           6、Jmeter语言版本中英文切换

                                简介: 讲解怎么改变jmeter的GUI界面语言版本

                                    1、控制台修改

                                            menu -> options -> choose language

                                    2、配置文件修改

                                            bin目录 -> jmeter.properties

                                            默认 #language=en

                                            改为 language=zh_CN

                            7、使用SpringBoot 2.0快速编写API测试接口

                                    简介:使用java的框架springBoot快速编写几个API接口测试

                                    https://spring.io/guides/gs/spring-boot/

                                    接口列表

                                        1、模拟GET请求,用户列表接口

                                         2、模拟POST请求,用户登录接口

                                            http://localhost:8080/users

                                8、创建Jmeter测试计划,快速压测一个接口

                                        简介:通过带着why来学习,快速创建一个测试计划

章节三 Jmeter核心组件讲解和实操

9、Jmeter基础功能组件介绍线程组和Sampler

            简介:讲解Jmeter里面GUI菜单栏主要组件

            1、添加->threads->线程组(控制总体并发)

                    线程数:虚拟用户数。一个虚拟用户占用一个进程或线程准备时长(Ramp-Up Period(in seconds)):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程

                    循环次数:每个线程发送的次数,假如值为5,100个线程,则会发送500次请求,可以勾选永远循环

            2、线程组->添加-> Sampler(采样器) -> Http (一个线程组下面可以增加几个Sampler)

                名称:采样器名称

                注释:对这个采样器的描述

                web服务器:

                    默认协议是http

                    默认端口是80

                    服务器名称或IP :请求的目标服务器名称或IP地址

                    路径:服务器URL

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

            3、查看测试结果

                    线程组->添加->监听器->察看结果树

10、Jmeter的断言基本使用

            简介:介绍什么是断言及基本使用

            1、增加断言: 线程组 -> 添加 -> 断言 -> 响应断言 

                    apply to(应用范围):

                    Main sample only: 仅当前父取样器 进行断言,一般一个请求,如果发一个请求会触发多个,则就有sub sample(比较少用)

                    要测试的响应字段:

                        响应文本:即响应的数据,比如json等文本

                        响应代码:http的响应状态码,比如200,302,404这些

                        响应信息:http响应代码对应的响应信息,例如:OK, Found

                        Response Header: 响应头

                        模式匹配规则:

                            包括:包含在里面就成功

                            匹配:响应内容完全匹配,不区分大小写

                            equals:完全匹配,区分大小写

            2、断言结果监听器: 线程组-> 添加 -> 监听器 -> 断言结果

                        里面的内容是sampler采样器的名称

                        断言失败,查看结果树任务结果颜色标红(通过结果数里面双击不通过的记录,可以看到错误信息)

            3、每个sample下面可以加单独的结果树,然后同时加多个断言,最外层可以加个结果树进行汇总

11、Jmeter实战之压测结果聚合报告分析

            简介:讲解压测结果的聚合报告

            新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)

                    lable: sampler的名称

                    Samples: 一共发出去多少请求,例如10个用户,循环10次,则是 100

                    Average: 平均响应时间

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

                    90% Line : 90% 用户的响应不会超过该时间 (90% of the samples took no more than this time. The remaining samples at least as long as this)

                    95% Line : 95% 用户的响应不会超过该时间

                    99% Line : 99% 用户的响应不会超过该时间

                    min : 最小响应时间

                    max : 最大响应时间

                    Error%:错误的请求的数量/请求的总数

                    Throughput: 吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps

                    KB/Sec: 每秒接收数据量

12、Jmeter压测脚本JMX讲解

            简介:压测脚本JMX讲解

                    1、打开方式subline,或者xml编辑器

                    2、运行日志和压测时间查看(基础按钮)

章节四 自定义变量和CSV可变参数实操

13、Jmeter用户自定义变量实战

        简介:什么是用户自定义变量,怎样使用

            为什么使用:很多变量在全局中都有使用,或者测试数据更改,可以在一处定义,四处使用

                比如服务器地址

                    1、线程组->add -> Config Element(配置原件)-> User Definde Variable(用户定义的变量)

                    2、引用方式${XXX},在接口中变量中使用

                    3、原始查看结果树和非原生查看(基础按钮)

14、Jmeter实战之CSV可变参数压测

            简介:实战操作jmeter读取CSV和Txt文本文件里面的参数进行压测

                    1、线程组->add -> Config Element(配置原件)-> CSV data set config (CSV数据文件设置)

15、CSV文件多参数使用

            简介:在读取的配置文件里面,同时使用多个自定义参数

                1、如果是多个参数需要同时引用,则在CSV数据文件里面设置加多个字段

                       Variabled names(comma-delitited):  csv_name,csv_pwd

章节五 Mysql数据库压测实操


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

推荐阅读更多精彩内容