技术大佬说我对「压测目标」的分析不够细

 

前言

        前面总结压测类型的时候有简单描述了不同压测类型的从准备-脚本设计-压测的整体过程,但是对于压测对象没有更深入的进行分析总结,导致在压测执行结束后,出现压测结果不准确的情况。所以这边就压测的对象进行单独的总结分析。

    在执行压测的时候,压测模型和数据模型需要尽可能的模拟真实环境的请求情况,只有在这种模式下进行压测,产出的报告才具备参考性。

压测模型

    我这边所要描述的压测模型,主要指我们设计压测脚本的具体的对象(内容),不同类型的压测目标,对应的需要进行压测模型就不一样。

    这就好比我们点外卖点餐一样,老板要打包就需要明白打包的东西是什么?

1.客户点「白米饭」,那老板只要把白米饭给我们就好(其中白米饭就是具体的对象)

2.客户点「蛋炒饭」,那老板要把白米饭和蛋加工后,再一起提供给我们(其中白米饭和蛋就是具体的对象)

1.评估单个接口请求的性能瓶颈

    针对核心功能请求量比较大的接口,在进行发布前会需要进行单个接口请求的性能瓶颈,就是对单个接口进行逐步提高请求压力,查看该接口的QPS极限,以及过程中出现的问题

2.评估指定业务场景的性能瓶颈

    在指定场景,需要通过逐步提高压力来探查部分接口的性能瓶颈;例如热点推送、双十一等特殊时期,需要大量用户在同一个周期内点击查看推送内容、或者大量用户进行下单支付,这个流量突然增大的情况下,接口请求或者服务是否存在性能瓶颈问题。

3.评估当前服务整体的性能瓶颈

按照当前服务的top流量接口请求,计算每个接口的请求占比,按照占比同时进行施压:

1.grafana平台获取top流量接口列表

2.根据实际情况选择压测接口,必须满足以下2个条件

    2.1 QPS>100(100是个参考值,可以根据实际业务情况进行调整,主要满足条件2.2即可)

    2.2 选取的所有接口总流量/服务总流量>90%(流量占比越接近100%,压测模型就越贴近实际,压测结果更准确)

案例:

    服务的QPS max峰值5000,选取的top流量接口有6个,6个接口的QPS max总和为4900,那么总流量占比=4900/5000*100%=98%

3.计算单个接口的压测流量占比

选择的top流量接口有5个分别是a、b、c、d、e,则各个接口的流量占比为:

接口a占比=a /(a+b+c+d+e)*100%,其他也同样进行计算

数据模型

梳理完压测的模型后,需要考虑接口传递的数据时什么样子的,也就时数据模型。

主要是准备压测时使用的测试数据,本次实践中总结出2点:

    1.压测数据尽可能模拟大部分用户的真实场景

        1.1面对数据:数据缓存、数据量、数据的其他特征情况

        1.2面对用户:对单个用户、还是多个用户进行压测

    2.环境尽可能贴近真实用户使用的环境

        2.1服务资源配置:应用资源配置、数据库配置等

        2.2数据库特殊处理:例如线上用户数据有分表,那么在压测时需要同样选择有分表的数据库进行压测

案例:

接口类型

数据要求

获取内容列表

总数据量:total=1w

单页查询数据量:pagesize=15

页码:pagenum=随机1-100之间

修改内容

1.随机获取内容

2.随机获取大json、小json对内容进行修改

        在技术大佬的指导下,深入重新梳理分析了压测的流量模型和数据模型,最后输出的压测方案明显比前面自己绞尽脑汁、东拼西凑得到的方案显得更专业、更具有执行价值~在此感谢大佬的支援~♥️以上仅为个人本次性能实践的总结~仅供参考~

生活是自己的

千万别为难自己

有什么样的能力

就过什么样的生活

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miss糖豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值