XXXXAPP-压测报告
目录
1. 测试目的
通过负载测试评估当前系统在压测环境的服务器端性能情况;
负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈。
2. 测试范围
本次压测结合APP核心功能页面作为范围筛选,通过模拟用户正常操作浏览页面作为场景;输出压测接口评估记录文档,如下:
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
- 环境准备阶段
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理论场景设计
本次压测策略参考负载测试,通过逐步加压的方式,寻找当前压测服务环境相对稳定支持的并发用户数、接口短板或系统极限;
并发用户数加压参考曲线:
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并发情况下,登录接口表现良好;
300500并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳;600并发情况下,服务器处理能力会随着并发增加而降低;
500
首页
场景
结果
120并发,持续半小时
单接口最长响应时间约5秒,rps=73
150并发,持续半小时
单接口最长响应时间约6.8秒,rps=72
200并发,持续10分钟
单接口最长响应时间约9.2秒,rps=60
结论
<120并发情况下,首页接口表现良好,单接口最长响应时间约5秒;
120150并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳;200并发情况下,服务器响应时间逐渐变长,处理能力会随着并发增加而降低,light-chain-markehomePage,light-chain-goods/a/brand/goods/new接口会是当前页面首先出现瓶颈的接口;
150
创意页
场景
结果
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为当前页瓶颈接口;
100120并发情况下,随着请求增多,服务器平均响应时间逐渐变长,响应事物数未增加;150并发情况下,随着请求增多,服务器平均响应时间逐渐变长,接口light-chain-customizsuit/list是当前页面的瓶颈接口。
120
商品列表
场景
结果
200并发情况下,持续20分钟
平均响应时间1.4秒,rps=111
400并发情况下,持续半小时
平均响应时间3.2秒,rps=111
600并发情况下,持续1小时
平均响应时间5.3秒,rps=110,容器内存使用70%左右。
结论
<200并发情况下,服务器无压力,运行很好;
200400并发情况下随着请求增多,服务器平均响应时间逐渐变长,事务处理能力表现平稳,表现很好。600并发情况下,虽平均响应时间变长,但服务器表现依旧良好,当前页面接口不会是整个项目首先出现瓶颈的模块;
400
商品详情
(订单确认)
场景
结果
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并发情况下,商品详情(订单确认页)表现良好;
120150并发情况下随着请求增多,服务器平均响应时间逐渐变长,当前页面首先出现接口(goods/detail)平均响应时间变长达7.3秒;200并发情况下,服务器平均响应时间逐渐变长,服务器处理能力会随着并发增加而降低,接口(gogoods/detail)平均响应时间过长超过10秒;
150
下单页
场景
结果
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并发情况下,下单接口随着请求增多,响应事物数增多,平均响应时间变长,整体表现稳定;
5060并发情况下,随着请求增多,服务器平均响应时间逐渐变长,事务处理能力有所下降;100并发情况下,平均响应时间过长,服务器处理能力会随着并发增加而降低
60
定制编辑
场景
结果
100并发,持续半小时
页面响应平均响应时间最长的接口为2.4秒,rps=77,无错误
120并发,持续半小时
页面响应平均响应时间最长的接口为2.9秒,rps=79,出现个别错误,设计师服务,定制服务
150并发,持续半小时
页面响应平均响应时间最长的接口为3.6秒,rps=79,出现个别错误503
结论
<100并发情况下,服务响应良好;
100120并发情况下随着请求增多,服务器平均响应时间逐渐变长,个别接口会出现响应超时情况,详细情况还需单接口压测分析;150并发情况下,服务器平均响应时间逐渐变长,个别接口会出现响应超时情况;
120
跳转定制页
场景
结果
80并发情况下,持续半小时
页面接口响应最长接口的平均响应时间为4.2秒,rps=38,少量报错503
100并发情况下,持续半小时
页面接口响应最长接口的平均响应时间为5.2秒,rps=35
120并发情况下,持续3小时
页面接口响应最长接口的平均响应时间为7.4秒,rps=44,少量报错503
150并发情况下,持续半小时
页面接口响应最长接口的平均响应时间为6秒,rps=36,出现周期性报错
结论
80并发情况下依然出现503报错,需要调研具体原因
随着并发数增多,出现周期性报错情况,需要调研具体原因
- 压测详细记录
xxxxxxxxxx具体细节!!!!
版权归原作者 唐古乌梁海 所有, 如有侵权,请联系我们删除。