XXXXAPP-压测报告

XXXXAPP-压测报告

目录

1. 测试目的

2. 测试范围

3. 环境准备阶段

3.1 测试环境信息

3.2 测试数据准备

3.3测试工具准备

4. 性能测试执行阶段

4.1理论场景设计

4.2具体实现设计

5. 性能压测结果收集情况

6. 压测详细记录

1. 测试目的

通过负载测试评估当前系统在压测环境的服务器端性能情况;

负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈

2. 测试范围

本次压测结合APP核心功能页面作为范围筛选,通过模拟用户正常操作浏览页面作为场景;输出压测接口评估记录文档,如下:

XXXXAPP-压测报告_第1张图片

 

XXXXAPP压测接口评估记录:

首页浏览刷新

【Mg】弹窗广告-分页列表

/api/marketing-center/app/popup-advertising/list?crowdLimit=0&popupLocation=0&popupPlatform

首页页面-详情

/api/marketing-center/h5/custom/page/homePage

【App】开屏广告-获取

/api/marketing-center/app/start

查询品牌上新列表(首页 品牌专区)

/api/goods/app/goods/query/list/brand/goods/1

查询商品导航

/api/goods/app/goods/query/list/n

查询商品分页列表

/api/goods/app/goods/query/list/pa?current=1&size=20

根据商品编码查询商品信息-列表查询

/api/goods/app/goods//list/goods?goodsSpuNums=1-1648527921680022,1-1648545393700020

【App】客户端参数-获取

/api/system/client-param/take?key=trackUploadFileSize

【App】主理人-详情

/api/ustomer/app/cb/deta1430112754290659330?isSimple=1&withAttentionInfo=

【App】版本信息-版本更新检查

/api/sm/ape/checkAUpdate?appName=1&atuName=2.8.1&deviceType=1

用户信息详情

/api/light-chainustomerbasic/customerDetail?customerId=1430112754290659330

【App】新人礼包-获取进行中的活动

/api/light-chain-app/new-customer-activity/get-start

创意页浏览刷新

获取推荐组合定制信息

/apap/suit/recommend/suit/list

【App】广告位列表查询

/api/arketing-center/app/layout/getLayout

【App】创意页面可配字符

/api/g-center/appgetConfig

【Mg】弹窗广告-分页列表

/apip-advertising/list?crowdLimit=0&popupLocation=0&popupPlatform=0

2.6.1 创意-印花图案列表

/api/navigation/ideas-element/0/3

2.6.1 节日素材-为你推荐

/apcommend-group?current=1

2.6.1 素材上新

/api/xtend/new/10

2.6.1 创意首页印花分类导航

/api/ligigation/list/15?eleType=1

商品页浏览刷新

商品详情接口

/api/lig/app/goods/query/goods/detail

【App】优惠券票券-商品/定制详情可领优惠券展示

/api/lightcenter/app/coupon-voucher/may-take-coupon

app2.8-动态列表查询

/apip/dynamic/list

用户-默认地址

/api/light-er/customerDefaultAddress

查询商品运费

/api/lights/query/calculate/freight

全部商品页浏览刷新

查询商品导航

/api/ligds/query/list/nav

查询商品分页列表

/api/list/page?current=1&size=20

开始定制

实时计算创意的价格

/api/lighriginality/constantly/compute/price

生成创意方案

/api/liuit/generate/originality

app创意页面spu详情查询接口(app2.7)

/api/lilothes-spu/idea/spu?spuId=26

定制页面编辑

定制页面素材分类导航查询

/apation/cz/element

app-定制字体分页

/api/light-nt/page

素材列表查询

/api/lightz/elment/list

app-定制字体颜色列表

/api/light-ch/color-list

商品创建订单操作

商城订单 下单

/api/ligoods-ord/place

用户登录

用户手机绑定登录

/apiustome/login/phone

  1. 环境准备阶段

3.1 测试环境信息

*运维同学申请资源;

环境信息

配置

备注

ECS实例:light-chain-stress-01

4C*16G 50G存储 1Mbps公网带宽

部署业务相关服务

ECS实例:light-chain-stress-02

4C*16G 50G存储 1Mbps公网带宽

部署公共相关服务

共享带宽

5Mbps

ALB

按量付费

3.2 测试数据准备

测试数据:从生产上数据同步到测试数据库,达到数据量一致的目的;

参数化数据:不同类型的数据处理逻辑有差异时,需要通过测试数据的多样化来提高性能测试代码的覆盖率,而参数化是最常见的方式;

3.3测试工具准备

*测试过程中使用的工具

类型

工具

备注

脚本工具

Pycharm、Postman

监控工具

Locust

吞吐量、响应时间、报错率

Nightingale

主机和容器监控

Grafana

Mysql、Redis和ALB带宽监控

4. 性能测试执行阶段

4.1理论场景设计

本次压测策略参考负载测试,通过逐步加压的方式,寻找当前压测服务环境相对稳定支持的并发用户数、接口短板或系统极限;

并发用户数加压参考曲线:

  XXXXAPP-压测报告_第2张图片

 

4.2具体实现设计

通过单个页面并发增加,来找出每个页面首先出现瓶颈的接口

5. 性能压测结果收集情况

登录

场景

结果

150并发,持续半小时

平均响应时间2.5秒,rps=52

300并发,持续半小时

平均响应时间5.5秒,rps=51,内存消耗未达60%

400并发,持续半小时

平均响应时间7.3秒,rps=50

500并发,持续半小时

平均响应时间9.2秒,rps=53

600并发,持续半小时

平均响应时间11秒,rps=23,内存消耗未达60%

结论

<300并发情况下,登录接口表现良好;
300~500并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳;
500~600并发情况下,服务器处理能力会随着并发增加而降低;

首页

场景

结果

120并发,持续半小时

单接口最长响应时间约5秒,rps=73

150并发,持续半小时

单接口最长响应时间约6.8秒,rps=72

200并发,持续10分钟

单接口最长响应时间约9.2秒,rps=60

结论

<120并发情况下,首页接口表现良好,单接口最长响应时间约5秒;
120~150并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳;
150~200并发情况下,服务器响应时间逐渐变长,处理能力会随着并发增加而降低,light-chain-markehomePage,light-chain-goods/a/brand/goods/new接口会是当前页面首先出现瓶颈的接口;

创意页

场景

结果

100并发情况下,持续半小时

lightmmend/suit/list平均响应时间为6.8秒,rps=91

120并发情况下,持续半小时

light-cecommend/suit/list平均响应时间为8.5秒,rps=91

150并发情况下,持续20分钟

lightcommend/suit/list平均响应时间达11秒,rps=103

200并发情况下,持续1小时

创意页已经出现单接口相应时间(中位数、均值)较长的接口13秒,且出现一定的错误,rps=95,对出现当前情况的接口进行分析,接口响应体较大(接近20KB)

结论

<=100并发情况下,创意页整体还可以,接口light-chain-customd/suit/list为当前页瓶颈接口;
100~120并发情况下,随着请求增多,服务器平均响应时间逐渐变长,响应事物数未增加;
120~150并发情况下,随着请求增多,服务器平均响应时间逐渐变长,接口light-chain-customizsuit/list是当前页面的瓶颈接口。

商品列表

场景

结果

200并发情况下,持续20分钟

平均响应时间1.4秒,rps=111

400并发情况下,持续半小时

平均响应时间3.2秒,rps=111

600并发情况下,持续1小时

平均响应时间5.3秒,rps=110,容器内存使用70%左右。

结论

<200并发情况下,服务器无压力,运行很好;
200~400并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳,表现很好。
400~600并发情况下,虽平均响应时间变长,但服务器表现依旧良好,当前页面接口不会是整个项目首先出现瓶颈的模块;

商品详情
(订单确认)

场景

结果

120并发,持续25分钟

接口light-chain-gds/detail为当前页面平均响应时间最长的接口,为5.6秒, rps=55

150并发,持续25分钟

接口light-chain-goos/detail平均响应时间变长为7.3秒, rps=52

200并发,持续25分钟

接口(light-chain-goods/app/goods/query/goods/detail)平均响应时间达10秒,对接口进行分析,接口响应体不算很大(约6.2KB),rps=51

结论

<=120并发情况下,商品详情(订单确认页)表现良好;
120~150并发情况下随着请求增多,服务器平均响应时间逐渐变长,当前页面首先出现接口(goods/detail)平均响应时间变长达7.3秒;
150~200并发情况下,服务器平均响应时间逐渐变长,服务器处理能力会随着并发增加而降低,接口(gogoods/detail)平均响应时间过长超过10秒;

下单页

场景

结果

30并发,持续半小时

平均响应时间4秒,rps=6.6

40并发,持续半小时

平均响应时间5.4秒,rps=7

50并发,持续半小时

平均响应时间6.7秒,rps=9

60并发,持续半小时

平均响应时间8秒,rps=7.5

100并发,持续半小时

平均响应时间12秒,rps=7.2

结论

<50并发情况下,下单接口随着请求增多,响应事物数增多,平均响应时间变长,整体表现稳定;
50~60并发情况下,随着请求增多,服务器平均响应时间逐渐变长,事务处理能力有所下降;
60~100并发情况下,平均响应时间过长,服务器处理能力会随着并发增加而降低

定制编辑

场景

结果

100并发,持续半小时

页面响应平均响应时间最长的接口为2.4秒,rps=77,无错误

120并发,持续半小时

页面响应平均响应时间最长的接口为2.9秒,rps=79,出现个别错误,设计师服务,定制服务

150并发,持续半小时

页面响应平均响应时间最长的接口为3.6秒,rps=79,出现个别错误503

结论

<100并发情况下,服务响应良好;
100~120并发情况下随着请求增多,服务器平均响应时间逐渐变长,个别接口会出现响应超时情况,详细情况还需单接口压测分析;
120~150并发情况下,服务器平均响应时间逐渐变长,个别接口会出现响应超时情况;

跳转定制页

场景

结果

80并发情况下,持续半小时

页面接口响应最长接口的平均响应时间为4.2秒,rps=38,少量报错503

100并发情况下,持续半小时

页面接口响应最长接口的平均响应时间为5.2秒,rps=35

120并发情况下,持续3小时

页面接口响应最长接口的平均响应时间为7.4秒,rps=44,少量报错503

150并发情况下,持续半小时

页面接口响应最长接口的平均响应时间为6秒,rps=36,出现周期性报错

结论

80并发情况下依然出现503报错,需要调研具体原因
随着并发数增多,出现周期性报错情况,需要调研具体原因

  1. 压测详细记录

xxxxxxxxxx具体细节!!!!

你可能感兴趣的:(测试,压力测试,app)