一、测试概况
本次针对卷王问卷考试系统核心业务接口开展20线程梯度压测,测试时长约3分钟,总请求数1531次,全链路错误率0.00%,无请求失败、超时或服务崩溃情况。系统在压测压力下基础稳定性完全达标,未出现严重可用性问题。
二、核心指标深度分析
1. 响应时间与用户体验(APDEX + 聚合统计)
- 整体表现:总平均响应时间1076ms,但中位数仅218ms,说明绝大多数请求响应速度较快,仅少数长尾请求严重拉高了整体耗时,99分位响应时间达18895ms,存在明显的性能短板。
- APDEX用户体验:以500ms为可接受阈值、1500ms为不可接受阈值,大部分接口APDEX≥0.5,登录、增删改等高频接口表现良好;但两个接口体验严重不达标:
获取当前用户创建的问卷和考试的数量:APDEX=0.023,平均响应15587ms,最大26119ms,是长尾延迟的核心来源。获取项目文件夹列表:APDEX=0.794,虽已实现分页逻辑,但平均响应仍达6722ms,未达最优体验。
2. 吞吐量与线程模型分析
本次采用先升后降的梯度线程模型(活动线程数从15逐步提升至20后回落),因此每秒事务数、字节吞吐量随线程数同步变化,后期吞吐量下降是线程数减少导致的,并非系统处理能力触达瓶颈。同时,所有接口的连接时间稳定在低水平,无连接超时或网络抖动问题,说明网络与连接池配置合理。
三、关键慢接口根因分析
-
统计类接口(获取用户问卷/考试数量)
该接口为无分页的全量统计接口,每次请求直接查询数据库计算总数,未做缓存优化。高并发下,数据库需要反复执行全量聚合查询,导致锁竞争、IO等待严重,是拉高整体99分位耗时的直接原因。 -
分页列表接口(获取项目文件夹列表)
该接口虽已实现分页,但SQL存在优化缺陷:多表关联冗余、查询/排序字段未加索引,导致即使分页,每次查询仍需扫描大量数据,高并发下数据库负载升高,响应时间显著延长。
四、针对性优化建议
- 统计接口优化:对用户问卷/考试数量统计结果添加Redis缓存,设置定时刷新策略;或在数据库层引入预计算表/物化视图,避免实时全量聚合查询。
- 分页接口优化:检查分页SQL,精简关联查询逻辑,为过滤、排序字段添加索引,避免全表扫描和排序操作。
- 通用优化:为高频查询接口添加缓存层,降低数据库访问压力;开启数据库慢查询日志,持续定位低效SQL。
五、测试结论
系统在20线程梯度压测下整体稳定性良好,无服务不可用问题,大部分业务接口可正常支撑并发访问。性能瓶颈集中在少数统计与分页接口,并非架构层面缺陷,而是数据库查询优化不足导致的局部短板。针对性优化后,可显著降低长尾延迟,提升用户体验,支撑更高并发场景的使用需求。
6594

被折叠的 条评论
为什么被折叠?



