分布式压测系列之Jmeter4.0第一季

  

1) Jmeter4.0介绍

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

 1, loadrunner:性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多
  2、apache  ab(单接口压测最方便):模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU、也不会占用太多的内存,但却会给目标服务器造成巨大的负载,,简单DDOS * * *等
  3,webbench: webbench首先叉出多个子进程,每个子进程都循环做网络访问测试。子进程把访问的结果通过管告诉父进程,父进程做最终的统计结果。

分布式压测系列之Jmeter4.0第一季

2)特点

<李>

提供GUI图形界面和非GUI界面进行压测,在windows下面进行开发测试压测脚本,然后直接在linux上执行

<李>

可以提供完整的动态HTML压测报告

<李>

纯java编写,一次编写,四处压测

<李>

多线程框架允许通过多个线程同时进行采样压测,并通过单独的线程组同时采样不同的功能

<李>

提供高度可扩展的功能,自定义插件:

<李>

提供函数可用于为测试提供动态输入或提供数据操作。

<李>

通过Maven, Graddle和詹金斯的第三方开源库轻松持续集成

3)准备工作


分布式压测系列之Jmeter4.0第一季

本:核心可执行文件,包含配置
  ,,,,,jmeter.bat:, windows启动文件:
  ,,,,,jmeter:, mac或linux者启动文件:
  ,,,,,jmeter-server: mac或者Liunx分布式压测使用的启动文件
  ,,,,,jmeter-server.bat: mac或者Liunx分布式压测使用的启动文件
  ,,,,,jmeter.properties:,核心配置文件
  ,,,,,例子:压测脚本文件JMX和动态读取csv参数文件案例result-template:可视化HTML
  ,,,,,模板:JMX的模板文件
  文档:Jmeter的API文档
  配件:插件拓展的包
  自由:核心的依赖包
  ext:核心包
  junit:单元测试包

5) Jmeter核心组件介绍

分布式压测系列之Jmeter4.0第一季

什么是测试计划(测试计划)?

<>之前,,,,就是压测的一个流程,比如压测什么接口,并发多少用户,协议等等,在测试计划下面配置线程组,采样器,监听器等组件

什么是线程组(线程组)?

线程组就是模拟多少用户并发访问你的应用,这个组里面共有多少用户,创建方法如上图现在“添加→线程→线程组”
  ,,,参数说明:
  ,,,线程数:虚拟用户数。一个虚拟用户占用一个进程或线程
  ,,,准备时长(Ramp-Up 周期(秒)拷贝):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程,,,,
  ,,,循环次数:每个线程发送的次数,假如值为5100个线程,则会发送500次请求,可以勾选永远循环

分布式压测系列之Jmeter4.0第一季


真正干活的组件,采样器里面配置你要压测的接口,协议,参数等
  可以创建各种采样器,如Http请求,FTP请求,JDBC压测数据库请求、JMS等,对应的采样器有不同的配置
  以http请求采样器为例
  名称:采样器名称,一般是接口名称,方便后续进行区分,比如“登录接口”
  注释:采样器的描述,方便别人理解,类似压测接口描述
  web服务器配置
  协议:压测的协议,比如“http”或者“https"
  服务器名称或IP:压测目标机器的端口或者服务器IP地址,比如,www.xdclass.net
  端口号:压测目标机器的端口号,比如,8080
  HTTP请求配置
  方法:http的请求方法,常用的有,,,删除、补丁等
  路径:压测的接口的URL,比如,/api/v1/用户
  Content 编码:是否进行内容编码
  
  302年自动重定向:http有状态码返回的时候,重定向,但不会产生记录,不可以做关联请求,
  比如比如第二个请求要用到第一个请求的数据,则选择自动重定向无法做关联
  跟随重定向:会产生记录,可以做关联,默认勾选这个
  Use 多部分/from-data  for  HTTP  POST :当发送帖子请求时,使用Use 多部分/从数据方法发送,默认不选中。
  参数:参数配置
  Files 上传:文件上传配置

分布式压测系列之Jmeter4.0第一季