Jmeter性能测试之基础知识(一)

北城余情 提交于 2020-01-03 03:39:13

1. 官网下载Jmeter: 点这里, 下载完成解压即可

2. 启动: 进入解压后的bin目录, Windows点击jmeter.bat, Linux执行jmeter

3. 添加线程组(user) : Test Plan --> Add --> Threads(Users) --> Thread Group, 这里还有setUp Thread Group和tearDown Thread Group, 前者是测试之前做的事, 后者是测试之后做的事. 这里点击Test Plan有个执行计划的设置比较常用, Run Thread Groups consecutively(i.e.one at time), 勾选表示顺序执行, 指的是测试计划中存在多个线程组时,第一个线程组执行完后再执行下一个线程组。下图是线程组的线程配置详情:

4. 这里介绍常用的几个, 有些不常用的需要用的时候, 自己去试一下或者找下资料看下文档说明.

  Sampler: 常用的HTTP Request/FTP Request/JDBC Request/Java Request, 这个是核心元件, 具体测试的对象在这里写, 基本用到的HTTP Request, post/get的HTTP请求, 这里懂HTTP协议的一看就会了, 需要注意的是编码(有时候会乱码), Redirect Automatically和Follow Redirect的区别, 前者只针对get/head请求, 不会记录中间过程, 后者用于会记录中间过程.

  Logic Controller: 业务逻辑控制器, 懂编程的一看就能明白这是干啥的, 主要常用的有if/Random等等, random也可以使用Options-->Function Helper Dialog里面的函数,例如: ${__Random(1,100,num)}

  Pre Processors: 前置处理器, 在sampler元件之前执行, 一般用的最多的就是参数设置(User Parameters), 这里在参数化的时候在细说

  Post Processors: 后置处理器, 在sampler元件之后执行, 用的多的也就是Regular Expression Extractor/XPath Extractor, 这里在关联的时候再细说

  Assertion: 断言, 常用的Response Assertion(有很多种比较方式, 根据实际情况择优选择)

  Timer: 定时器, 一般用的多的是Synchronizing Timer, 集合点的时候用到

  Config Element: 配置元素, 这里面各个组件功能不一, 比如HTTP Request Defaults, 公共的请求参数都在这里事先配置, 后面在具体的sampler里面, 相同的部分就可以省略不写了

  Listener: 监听器, 常用的查看结果树(View Results Tree), Summary Report(我看和聚合报告的区别好像就是会有个响应时间的标准方差), 聚合报告(Aggregate Report)

5. 最后说明下性能监控的各项指标

  Label: 取样器, 自定义命名的线程组

  #Samples: 请求数, 样本数

  Average: 平局响应时间, 单位ms

  Min: 最小响应时间, 单位ms

  Max: 最大响应时间, 单位ms

  Median: 50%的请求的响应时间

  90%Line: 90%的请求的响应时间, 性能测试很重要的指标

  95%Line: 95%的请求的响应时间

  99%Line: 99%的请求的响应时间

  Error%: 事务错误率, 一般不高于1%

  Throughput: 吞吐量, 每秒完成的事务数, 也叫TPS, 也是性能测试很重要的指标, 越大越好, 越大说明系统的处理能力越强

  Received KB/sec: 每秒从服务器端接收到的数据量

  Sent KB/sec: 每秒向服务器发送的数据量

  Avg. Bytes: 平均数据流量,单位是Byte

  Std.Dev: 响应时间的标准方差

2. 启动: 进入解压后的bin目录, Windows点击jmeter.bat, Linux执行jmeter

3. 添加线程组(user) : Test Plan --> Add --> Threads(Users) --> Thread Group, 这里还有setUp Thread Group和tearDown Thread Group, 前者是测试之前做的事, 后者是测试之后做的事. 这里点击Test Plan有个执行计划的设置比较常用, Run Thread Groups consecutively(i.e.one at time), 勾选表示顺序执行, 指的是测试计划中存在多个线程组时,第一个线程组执行完后再执行下一个线程组。下图是线程组的线程配置详情:

4. 这里介绍常用的几个, 有些不常用的需要用的时候, 自己去试一下或者找下资料看下文档说明.

  Sampler: 常用的HTTP Request/FTP Request/JDBC Request/Java Request, 这个是核心元件, 具体测试的对象在这里写, 基本用到的HTTP Request, post/get的HTTP请求, 这里懂HTTP协议的一看就会了, 需要注意的是编码(有时候会乱码), Redirect Automatically和Follow Redirect的区别, 前者只针对get/head请求, 不会记录中间过程, 后者用于会记录中间过程.

  Logic Controller: 业务逻辑控制器, 懂编程的一看就能明白这是干啥的, 主要常用的有if/Random等等, random也可以使用Options-->Function Helper Dialog里面的函数,例如: ${__Random(1,100,num)}

  Pre Processors: 前置处理器, 在sampler元件之前执行, 一般用的最多的就是参数设置(User Parameters), 这里在参数化的时候在细说

  Post Processors: 后置处理器, 在sampler元件之后执行, 用的多的也就是Regular Expression Extractor/XPath Extractor, 这里在关联的时候再细说

  Assertion: 断言, 常用的Response Assertion(有很多种比较方式, 根据实际情况择优选择)

  Timer: 定时器, 一般用的多的是Synchronizing Timer, 集合点的时候用到

  Config Element: 配置元素, 这里面各个组件功能不一, 比如HTTP Request Defaults, 公共的请求参数都在这里事先配置, 后面在具体的sampler里面, 相同的部分就可以省略不写了

  Listener: 监听器, 常用的查看结果树(View Results Tree), Summary Report(我看和聚合报告的区别好像就是会有个响应时间的标准方差), 聚合报告(Aggregate Report)

5. 最后说明下性能监控的各项指标

  Label: 取样器, 自定义命名的线程组

  #Samples: 请求数, 样本数

  Average: 平局响应时间, 单位ms

  Min: 最小响应时间, 单位ms

  Max: 最大响应时间, 单位ms

  Median: 50%的请求的响应时间

  90%Line: 90%的请求的响应时间, 性能测试很重要的指标

  95%Line: 95%的请求的响应时间

  99%Line: 99%的请求的响应时间

  Error%: 事务错误率, 一般不高于1%

  Throughput: 吞吐量, 每秒完成的事务数, 也叫TPS, 也是性能测试很重要的指标, 越大越好, 越大说明系统的处理能力越强

  Received KB/sec: 每秒从服务器端接收到的数据量

  Sent KB/sec: 每秒向服务器发送的数据量

  Avg. Bytes: 平均数据流量,单位是Byte

  Std.Dev: 响应时间的标准方差

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!