创新实训(十五) 项目测试——实现并发测试

购买的服务器最多只支持120个并发连接,限速20Mbps,所以本次测试其实只是检验下当前系统的可用性。

登录

首先测试用户登录,为了方便测试,这里的用户设置为qq邮箱,为1-1000 依次@qq.com ,密码为P****

登录的接口为:

/user/login
 'content-type': 'application/json',

需要的数据为:

 {
    email:"",
    password: ""
}

测试接口成功如下:
在这里插入图片描述

使用JMeter测试接口:
在这里插入图片描述
从数据库中导出1000个测试的用户,分别为id,email,password用作参数:
在这里插入图片描述
为了可以对response中的中文进行解析,设置BeanShell后置处理程序:
在这里插入图片描述
要注意配置http 头管理器:

在这里插入图片描述

测试结果如下:

开始测试时报错如下:

detail":[{"type":"model_attributes_type","loc":["body"],"msg":"Input should be a valid dictionary or object to extract fields from","input":"{\"email\":\"1@qq.com\", \"password\": \"P\"}"}]}

发现是空格中可能包含了其他字符,将bodydata写为一行,删除空格即可:

{"email":"${email}","password":"${password}"}

测试50个用户 1s 登录没有问题:
在这里插入图片描述

测试120个用户登录 1s并发:
在这里插入图片描述
测试150个:
在这里插入图片描述

创建对话

目的是测试多用户并发创建对话,然后进行对话,需要获取对话conv_id,并根据生成的conv_id发起请求。

接口为

conversation/new-conversation/

设置body data为:

{"user_id": "${id}","conv_name": "${name}"}

这里的name为用户发起的第一个问题,这里导入周易问答对中的问题作为测试的name:
在这里插入图片描述

要注意file encoding设置为utf-8,不然jMeter读取中文会乱码,同时注意给定变量名name。

也要加入BeanShell后置处理程序解析response中的中文,同上设置。

开始测试一直为307报错,应该在http request中选中自动重定向即可:

在这里插入图片描述

成功测试:

在这里插入图片描述

在这里插入图片描述

测试120个用户同时发起创建对话:效果如下:只有一个出错,其他基本没问题

在这里插入图片描述

测试150个用户并发,设置1s,耗时5s,结果如下:

在这里插入图片描述

因为响应为:

在这里插入图片描述

使用JSON Extractor获取返回的conv_id,作为下一个接口测试的参数::

对话问答

接口为:

conversation/mix-chat/

body data为:

{"conv_id": "${conv_id}","query": "${query}","knowledge_base_id": "faiss_zhouyi"}

其他配置都同上。

因为要使用上一个接口的回答,所以ai chat和new -conv在同一个线程组中:

在这里插入图片描述
测试50s 50个用户并发创建对话+ai回答:

new_conv:
在这里插入图片描述
aichat:

在这里插入图片描述
查看回答效果:

首先是docs,对知识库的检索

在这里插入图片描述
接下来是 text,大模型的回复

在这里插入图片描述
ai检索知识库并查询消耗时间长,同时还要进行sse,上面的结果在可以接受的范围内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值