jmeter性能测试(一)

1.学习

  最近公司要求对新增的一个流程做性能测试,但自己对性能也是一知半解,了解性能测试相关知识也都是从网上查找,这次出个专题记录下测试,以后学习用。

2.测试需求

日活动用户5千,高峰时段10分钟,总用户数4万

3. 测试方案

测试方案的整理,主要是为了确认测试目的、测试需求、测试范围、测试过程、确认需求指标TPS、响应时间、吞吐量。 也就是要测什么,怎么测的问题。

3.1测试目的

1.测试业务场景是否能符合需求
2.测试系统瓶颈,了解系统性能表现
3.通过对业务场景测试,为系统调优提供参考
4.预估系统容量

3.2 测试范围

本次测试的主要流程,涉及到业务对应的接口,需要跟业务和开发沟通确认。

3.3 性能测试指标要求

1.交易吞吐量:后台主机每秒能够处理的交易笔数(TPS)
2.交易响应时间(3-5-8)秒:用户打开界面和程序事务处理时间​	
3.并发交易成功率99.99%:系统成功响应用户请求的成功率​	
4.资源使用指标:cpu(80%)、内存占有率(80%)

3.4吞吐量估值

确认当前系统日活动5千人。根据二八原则(80%的交易量发生在20%的时间段),当前环境对主机的交易吞吐量指标结合二八原则计算公式 : 
TPS = (总请求数* 80%) / (总时间*20%)
TPS = 5000*0.8/10*60*0.2=33.33
需要在测试环境模拟用户业务操作(压力测试)的并发量为:
并发数=TPS*(thinktime+runtime)=34*(7)=238
time值=登录0.2+完善信息3+扫码0.1+输入数据3+提交0.2+查看数据0.3=6.8

3.5资源使用指标

​ 在正常的并发测试和批处理测试中,核心系统服务器主机的资源使用指标要求:
​ CPU 使用率 ≤ 80%
​ 内存使用率 ≤ 80%

3.6测试环境

​ 测试环境需与生产环境相同、网络和软硬件配置相同

服务器 cpu 存储 操作系统 应用软件

3.7 测试工具

测试管理工具jmeter,具体信息如下:

用途 工具 生产厂商 版本
压力测试 jmeter Apche 5.0

3.8 测试方案

​ 因有4万个用户的需求,日在线用户 5000人以上,并发用户在【250】个左右,使用jmeter工具测试,创建相关操作脚本。测试过程按四个步骤进行:即基准测试场景、单独场景压力测试、混合场景压力测试、稳定场景测试,设置对服务器性能监视,查看各性能指标
测试接口调试准备
通过fiddler工具获取app接口,需提前获取token,考虑token多用户如何取值(需研发配合)

接口名称 接口路径 入口参数 出口参数 备注
登录
完善信息

3.9测试场景设计

3.9.1 典型交易基准测试

​ 典型交易基准测试是单交易单用户测试,目的是对选择的每个典型交易在无压力情况下 (无额外进程运行并占用系统资源)情况下,获取系统处理单笔交易的耗时,为下一步模拟 多个用户、混合交易的性能测试提供一个基本数据参考。

基准测试要达到以下目标:

  1. 验证测试接口及测试参数的正确性。
  2. 获取系统处理单笔交易性能数据,主要是单笔交易平均响应时间。
  • 测试方法
    ​ 使用一个 用户,分别运行每个典型交易的脚本,设置线程的循环次数 1 次,验证所有 脚本是否运行正确、所有交易事务是否成功返回,并获取每个典型交易的平均交易响应时间 ART。
  • 测试场景-基准测试

​ 测试单业务单人测试获取典型交易的平均响应时间

场景名称 线程数 ramp-up(总启动时间) 循环次数 持续时间(秒) 备注
登录 1 1 1
完善信息 1 1 1

3.9.2典型交易常规并发测试

​ 单交易多用户并发测试对每个典型交易通过多个用户多次循环执行,获得该交易在并发

用户情况下的平均响应时间以及每秒响应交易数,同时检验服务器端对每个典型交易多个并

发用户的处理能力。

  • 测试方法
    ​ 对单交易多用户并发测试:使用手动场景,设置并发用户数 200、300,500,持续时间 2/3/5 分钟, 循环次数永久。测试每个交易在不同压力下的应时间以及每秒响应交易数量。从 而发现交易的单点瓶颈,并针对问题进行优化。

  • 测试场景-单交易并发测试

场景名称 线程数 加压方式 加压持续时间 退出方式 备注
登录 200/400/500 总500个,从0开始启动200个,每过60s,在5s内增加60 2分钟 1s停5个 得出性能变化趋势图找出拐点
完善信息 200/400/500 总500个,从0开始启动200个,每过60s,在5s内增加60 2分钟 1s停5个

3.9.3混合交易常规并发测试

​ 混合场景压力测试是多交易多用户测试,根据实际用户操作,将多个单独的业务操作同时进行压力测试,分析测试结果是否满足用户要求的指标。

  • 测试方法
    ​ 对混合交易多用户并发测试:混合场景,设置并发用户数 200、300,500,持续时间 2/3/5 分钟, 按照交易占比设置比例,循环次数永久。测试每个交易在不同压力下的应时间以及每秒响应交易数量。从而发现交易的单点瓶颈,并针对问题进行优化。

  • 测试场景-混合交易并发测试

场景名称 线程数 所占比例 加压方式 加压持续时间 退出方式 备注
登录 200/400/500 10% 总500个,从0开始启动200个,每过60s,在5s内增加60 2分钟 1s停5个 得出性能变化趋势图找出拐点
完善信息 200/400/500 10% 总500个,从0开始启动200个,每过60s,在5s内增加60 2分钟 1s停5个

备注:比例设置需在线程组右键添加->选择逻辑控制器->选择吞吐量控制器->多个吞吐量设置10、10、30、30、10/10,并将对应接口请求放置在对应的吞吐量控制器下后运行

3.10测试场景执行与数据收集

​ 性能测试执行过程中应收集的测试场景执行结果数据包括:

1.jmeter中执行基准测试、常规并发、混合交易产生的聚合测试报告结果

2.通过监测服务器的资源监控数据(cpu/内存)

3.11测试实施

1.测试环境和人员准备

2.jmeter和相关监测服务器插件安装

3.相关测试接口获取,入参准备

4.执行测试场景

5.查看jmeter报告:结果树、聚合报告、服务器监控资源

6.输出测试报告

你可能感兴趣的:(接口测试,性能优化,测试工具,压力测试)