1.1项目背景
在项目环境,对AI智能合同底层接口进行压测
1.2压测内容
1.2.1接口清单
本次性能测试的对象为2个接口:
合同抽取
/ai-capability/extract/start-with-notify
合同摘要
/ai-capability/summary/start-with-notify
1.2.2场景设计
1)单负载测试:
数据分布:
以1000个字符的文件为主,也请求了少量的9000个字符的文件
测试过程:
qps从0开始,匀速增加到10,耗时1分钟;qps=10qps,持续1分钟
qps从10开始,匀速增加到20,耗时1分钟;qps=20qps,持续1分钟
qps从20开始,匀速增加到30,耗时1分钟;qps=30qps,持续1分钟
1.3压测计划
0914晚 19:00-20:00
2. 环境信息
2.1 服务配置
类型 | 应用名称 | 项目环境 |
应用 | contract-manager | CPU:2核 内存:3G |
3. 压测策略
3.1压测工具
Jmeter、GTR、结合各种监控平台和分析工具
3.2指标说明
分类 | 具体类型 | 说明 | 例如 |
Perceived system performance | Response time(RT) | 请求响应时间 | 一般关注平均响应时间,90%,最长等 |
tps | 每秒处理事务数 | 通常类似qps | |
Error rate | 错误率,关于错误率的统计主要有以下几种:
| 一般要求0%,稳定性压测时可以接受0.01错误率 | |
并发数 | 指某一时刻向服务器发送请求的用户数 | ||
system performance | CPU | us:用户态cpu时间 sy:系统态cpu时间 id:空闲cpu时间 wa:等待io的cpu时间 load average:平均负载 | 一般cpu使用率<75% |
内存 | Vm使用情况 页面swap si:交换进内存 so:交换出内存 | 一般使用率<75% | |
磁盘 | Hhd/ssd,类型 (read/write)Iops: 即每秒系统能能处理的I/O请求数量。 TPUT: 吞吐量。 | ||
网络 | 速率、带宽、吞吐量、时延 | ||
其他 | GC | YGC频率,FGC频率,YGCT,FGCT,堆使用率 | |
| 线程池 | Active/init/max thread count,队列 | |
| 数据库jdbc | jdbc active connection | |
| Sql耗时 | 慢sql,平均/最大耗时 | |
| 命中率 | Key buffer,query cache等 | |
| 锁 | 等待次数,等待时间等 | |
| 其他 |
3.3执行策略
负载测试:在指标验证基础至上,对每个接口逐步增大并发,每个轮次持续1分钟。
4. 测试结果
在逐步加压的情况下,存在部分502的情况
服务器资源情况
minimax接口响应时间情况:接口返回无报错,数据正常
AI抽取:平均10s左右
AI摘要:平均36S左右
5. 测试结论
1、在逐步加压的情况下,异步接口返回502,比例7.3%,需要排查具体原因。