静默压测生成HTML报告

霍格沃兹测试开发学社

ceshiren.com

jmx脚本解读

测试计划

线程组

自动化压测

  • 方式一:直接命令行进行参数值传递。

  • 方式二:编写脚本进行参数值传递。{shell/python}

自定义变量

1. 添加用户自定义变量

线程组 -> 添加 -> 配置元件 -> 用户定义的变量

2. 添加自定义变量表达式

定义3个变量和变量对应的默认值。

1) 函数表达式生成

点击函数助手

1) 函数表达式生成

使用__P函数生成对应属性,并复制。

1) 函数表达式生成

使用__P函数生成对应属性,并复制。

2) 函数添加

添加三个函数,分别对应线程组的属性。

3. 线程组引用

线程组的线程属性引用上面自定义的变量。

4. 聚合报告添加验证

线程组(Thread Group) -> 添加(Add) -> 监听器(Listener) -> 聚合报告(Aggregate Report)

5. 验证

命令行传参

-Jjmeterproperty;定义额外的 JMeter 属性

jmeter -n -t [jmx file] -l [results file] -Jthread=整数 -Jloop=整数 -Jramp=整数


jmeter -n -t GETAPI.jmx -l get.jtl -Jthread=2 -Jloop=2 -Jramp=1

运行结果

脚本

并发数规则

  • 在低并发数区域内可以大增量,在高并发数区域内使用小增量

    10 50 100 120 140 150 160 170 175

  • 具体的并发数值根据被测服务不同而不同

脚本业务流程图

并发数组

  1. 在脚本中设置模版压测脚本的地址
  2. 获取当前运行的系统环境并赋值给变量os_type
  3. 设置压测并发数

    thread_num_array = (10 50 100 120 140)

脚本

  1. 判断对应模版压测脚本PATH是否存在
  2. 读取模版压测脚本写入新生成文件
    1. 文件名唯一性:{}_tn{}_rt{}_lc{}_h{}
  3. 对应字段替换
  4. JMeter命令行运行

DIY 定制化 JMeter 聚合压测报告

  • reportgenerator.properties文件保存关于图形化HTML报告生成模块的默认配置。

  • 要变更报告相关配置信息,在user.properties中配置。

报告标题修改

jmeter.reportgenerator.report_title=Apache JMeter Dashboard

步骤

  • user.properties文件最后进行配置的追加:
    jmeter.reportgenerator.report_title=ceshiren.com
    

聚合报告百分位修改

#---------------------------------------------------------------------------
# Aggregate Report and Aggregate Graph - configuration
#---------------------------------------------------------------------------
#
# Percentiles to display in reports
# Can be float value between 0 and 100
# First percentile to display, defaults to 90%
#aggregate_rpt_pct1=90
# Second percentile to display, defaults to 95%
#aggregate_rpt_pct2=95
# Second percentile to display, defaults to 99%
#aggregate_rpt_pct3=99

步骤

user.properties文件最后进行配置的追加:

aggregate_rpt_pct2=70

修改结果展示

响应断言

性能测试在什么环境开展?

性能测试发现的问题,是开发解决,还是你解决?

怎样分析性能测试结果

面试

问题
怎样进行web端的性能分析及优化?
怎样搭建一套性能监控体系?
了解SkyWalking吗?
如果要做一个性能测试平台,有什么思路?
微信小程序怎么进行性能分析?