性能测试背景
满足大模型在初期1万用户的正常使用
性能测试名词解释
术语 | 释义 |
VU | 并发用户数 |
RT | 响应时间 |
TPS | 吞吐量的一种,指每秒处理的事务数,每个事务可以是一个接口或者多个接口 |
QPS | 吞吐量的一种,指每秒服务器处理的请求数量(就是服务器的接口) 可以理解为就是一个接口 |
环境信息
网络:Chery-wifi
服务:python的Flask开发
压测工具
工具 | 版本 |
jmeter | 5.6.3 |
测试场景
分析:查询历史聊天和用户会话聊天这两个场景是产品的核心也是用户用的比较多的
历史聊天场景
AI角色有小奇和小瑞,历史聊天记录有置顶和非置顶
查询会话角色设置50%的流量走小奇,50%的流量走小瑞,每个角色下20%的流量走置顶,80%的流量走非置顶
并发压测结果
设置100并发量, 压测20分钟。样本总量124675,响应时间:400ms左右(在没有产品特别说明情况下一般不超过500ms就可以),错误率:0.02% 。错误统一是连接被拒绝(网络问题)
历史消查询api的资源占用
压测过程中cpu占用率11%左右,内存占用率19%左右
数据库的资源占用
cpu占用率16%左右,数据库内存占用1%左右较少
聊天场景
按照角色50%的流量走小奇,50%的流量走小瑞。压测过重中整理一批query不停地发送
并发压测结果
压测20分钟0~10分钟并发量50,10~20分钟并发量100。除显卡占用量比较高达到几乎达到100%。无其他明显异常。
GPU的占用
并发量150
由于流式接口同样情况下,比非流式接口性能要求更高些(因为在流式返回过程中用户可能更集中,所以继续加到150的VU量)
并发量直接达到150,异常率达到98%,报错如下图
大模型压测脚本
详见绑定资源大模型性能压测脚本
问题汇总
问题描述 | 解决结果 | 解决措施 |
聊天场景VU量达到150时大量报错 | 未解决 | / |