jmeter压测流程

压测流程总结

一、压测前期准备

  1. 梳理接口逻辑,与研发、业务方对齐压测背景
  1. 根据压测背景、接口梳理情况等制定压测方案&目标
  • QPS计算:
  • 推文活动的QPS计算方法:

从业务方拿到往期推文的打开率、点击率以及本期的推文量

例如:往期推文打开率:2.03%, 往期推文点击率:25%

计划推文量为13000000+98000000+30000000+3000000=144000000

所以QPS =[144000000*2.03%*25% /(30*60)] * (3~5)倍

 406*(3~5)=1218~2030QPS

  • 现有接口每日正常QPS量+推送量的计算方法:

例如:快手推广活动,快手也用案例详情页接口,正常h5也用案例详情页接口,所以压测量应该为正常请求量+推广量,推广量计划在290/s左右,水滴筹日常高峰期案例详情页流量在700/s左右,按照3倍(290+700)的结果去作为压测目标,故压测目标为3000/s

  1. 编写压测计划,压测计划必须包含压测背景、压测接口、压测时间安排、监控地址

二、压测脚本&数据准备

1、压测脚本编写

  1. 脚本编写工具:jmeter
  1. 创建测试计划
  1. 创建线程组,压测的接口根据不同的情况可以划分在不同的线程组中

例如:

  • 读写接口分开压测,读接口放在一个线程组中,写接口放在另一个线程组中
  • 一级页面调用的接口放在一个线程组中,二级页面调用的接口放在另一个线程组中
  1. 在线程组中添加对应的组件编写接口等
  1. 编写脚本过程中有些重要的注意点如下:
  • 脚本请求方式一定要用java

 

 

  • 使用压测平台时,压测域名为:服务名.空间名.svc     例如:cf-api.cf.svc

 

  • 内网域名,及平台使用时,网络协议为http;使用外网域名(例如:api.shuidichou.com)和对应服务pod的IP时,网络协议使用https
  • 需求要有压测标识PresureTest-------true,使用原因:1、接口请求有写库,为避免造成线上脏数据,需建立影子库,写入压测标识,证明影子库生效 2、接口请求只读,存在报错时,可根据压测标识查询日志,用于定位问题 

 

  • 外部文件参数引用,path:1、/jmeter-data/bin/文件名.txt 2、线上token引用:{TOKEN} 

 

 

2、数据准备

  1. 准备压测时需要用到的数据,如案例id,token等

准备测试环境&线上的数据,测试环境数据可用来调试脚本,数据文件正确命名并且在脚本中正确引用

  1. 准备监控看板
  • 接口请求量对应SQL:替换接口&服务即可

SQL
SELECT sum("count")  FROM "http_server_requests" WHERE ("app" = 'cf-api' AND "uri" = '/api/cf/v4/get-funding-info' or "uri" = '/api/cf/v5/detail/get' ) AND $timeFilter GROUP BY time(10s), "uri" fill(null)

  • 接口请求耗时对应SQL:替换接口&服务即可

SQL
SELECT mean("mean")  FROM "http_server_requests" WHERE ("app" = 'cf-api' AND "uri" = '/api/cf/v4/get-funding-info' or "uri" = '/api/cf/v5/detail/get' ) AND $timeFilter GROUP BY time(10s), "uri" fill(null)

  1. 存在写库或者redis接口时,提醒研发提前创建影子库
  1. 在压测平台创建压测计划

 

  1. 提前在压测平台申请token

 

3、脚本调试

在测试环境调试脚本,脚本可成功运行后,在线上环境执行一条数据,查看是否含有压测标识,线上执行通过后,在压测平台进行调试脚本,查看是否存在压测标识

三、执行压测

  1. 执行压测过程中,实时观测报警和监控,有异常即刻停止压测,配合研发排查
  1. 压测过程中如果需要扩容,则按照下面的操作方式对项目机器进行扩容,pod需要扩容多大可以根据压测中cpu等情况决定扩容多少

 

 

压测完成后,记得将之前扩容的服务进行缩容

四、输出压测结果

  1. 分析压测结果,评估本次压测是否达到预期,是否发现存在的性能问题
  1. 输出压测报告,报告中包含压测过程、压测数据、压测结论和后续todo
  1. 若发现相关性能问题,解决后再重新进行压测
  1. 沉淀压测经验
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值