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数据库压测实操


你可能感兴趣的:(Jmeter分布式压测入门笔记)