测试脚本文件预览

jemeter做压测怎么看cpu_jemeter做压测怎么看cpu

新建测试计划

1、设置setUp线程组,用来一次获取用户token,方便之后HTTP请求使用

setUp线程组运行于所有线程组前面,再设置执行一次,用来进行获取token等操作就特别方便

HTTP信息头可以用来设置token,cookie等比较方便,放在HTTP下面就是只作用与这个请求,放在线程组下面就是作用于这个线程组下面所有的HTTP请求

HTTP请求默认值用来统一配置所有HTTP请求的协议,端口,域名等比较方便

2、登录-fbi,用来获取fbi的token,后面要拿这个fbi的token来登录作业管理系统

该填的填上

jemeter做压测怎么看cpu_HTTP_02


用JSON提取器提取登录作业管理系统需要的参数

jemeter做压测怎么看cpu_jemeter做压测怎么看cpu_03

3、登录作业管理系统,获取用户的token值

  • HTTP请求,正常填写,请求体参数通过 ${} 引用前面JSON提取器提取的变量值
  • JSON提取器,用来提取登录作业管理系统获取的用户的token值
  • 用BeanShell后置处理程序配合 setProperty函数将token值升级为全局变量,方便跨线程组的变量引用
${__setProperty(token,${access_token},)}

4、创建调试取样器,查看结果树,汇总报告

  • 调试取样器可以用来看一些变量值
  • 查看结果树,来看请求报文,响应报文等信息
  • 汇总报告,观察性能

5、创建用来压测的线程组

线程组的简单介绍

【线程数】: 设置发送请求的用户数。

【在采样器错误后要执行的动作】: 表示,当一个测试计划里有多个线程组或者一个线程组里有多个采样器,当一个采样器执行出错后,接下来的处理,如果不是有特别的场景要求,默认是继续就可以。

【Ramp-Up Period(in seconds)】: 创建完所有线程的时间,防止对服务器有太大的负载。

如果选择了10个线程,并且ramp-up period是10秒,那么JMeter将使用10秒加载10个线程,也就是平均1秒加载一个虚拟用户。

启动并运行。每个线程将在前一个线程启动后1秒后启动。如果将此设置为0,

则表示10个用户同时并发,也就是所有线程在统一时间启动。Ramp-up需要足够长的时间来避免在开始测试时产生太大的负荷,并且有足够短的时间使最后一个线程在第一个线程结束之前运行。

【循环次数】: 线程组的每个线程数请求的重复次数。如果次数设置为1,那么JMeter只执行测试计划一次,如果设置成永远,线程组里的线程会一直在执行。

【调度器】: 调度器是用来执行一些特殊场景,勾选了调度器,就可以设置线程运行的【持续时间】和【启动延迟】项。

【持续时间】: 测试计划持续时间。

【启动延迟】: 测试计划延迟启动时间。

6、配置线程组

jemeter做压测怎么看cpu_jmeter_04

7、配置信息头管理器

  • ${__property(token,)} 就是用户的token(上面新建的全局变量)

8、 配置HTTP请求-新建作业票(用来压测的接口)

填写要测的接口信息,参数准备好(可以扩展csv)

9、配置响应断言

jemeter做压测怎么看cpu_jemeter做压测怎么看cpu_05


apply to:是应用范围,设定匹配的范围

Main sample and sub-samples:匹配范围为当前父取样器,及子取样器

Main sample only :仅当前父取样器

Sub samples only:仅子取样器

JMeter Variable:变量值进行匹配

要测试的响应文字:针对响应数据不同部分进行匹配

(1)响应文本:响应服务器返回的文本内容,http协议排除header部分

(2)响应代码:匹配响应代码,比如http请求中‘200’代表成功

(3)响应信息:匹配响应信息,处理成功返回‘成功’或者“ok”字样

(4)Response Header:匹配响应头中的信息

匹配规则:

包括:响应内容包括需要匹配的内容就算成功

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

equals:完全相等,区分大小写

substring:响应内容包括匹配内容即为成功。

可以通过添加断言结果来查看断言的执行情况。

执行结果:

如果接口响应数据可以与断言匹配上,则测试用例通过,否则不通过

可以通过断言结果,查看断言执行情况。

10、创建查看结果树和聚合报告

jemeter做压测怎么看cpu_压力测试_06


聚合报告参数:

时间单位都是毫秒,1秒等于1000毫秒

平均值:平均响应时间,所有请求的平均响应时间。

中位数:50%的用户响应时间不超过这个值。

99% Line: 99%的用户响应时间不超过这个值(因为最慢的几个数据没有什么参考价值)。

Error%:异常百分比。(错误请求的数量/请求的总数)

Throughput:吞吐量,默认情况下每秒完成的请求数。

Received KB / sec:接收数据。

11、非GUI运行测试脚本,生成测试报告

jemeter做压测怎么看cpu_HTTP_07

jmeter -n -t 百度搜索.jmx -l report.jtl -e -o report
  • -t后跟的是脚本的名称,如果脚本不在当前目录下,可以在加绝对路径执行
  • -l是生成jtl文件可以导入到jmeter界面模式的聚合报告查看
  • -o后跟的是生成测试报告的文件夹。