基于 JMeter 的 Deepseek API-Key 测试:响应模式为线性还是并行?
本文通过JMeter工具测试Deepseek API的响应模式,设置三个线程组同时发送不同问题请求,观察响应顺序。实验结果显示请求同时发起但响应时间不同,且返回顺序无规律,验证了Deepseek API采用并行处理方式而非线性顺序响应。
项目场景:
调用Deepseek API-Key的时候我常会想:
我向同一个API-Key同时发送三个不同的问题,他是按照顺序依次返回结果?(线性)还是哪一个问题先回答完成哪一个问题先返回结果?(并行)
实验准备:
问题分析:单个用户使用Deepseek API-Key的响应模式是线性还是并行的?
工具与材料:
1.测试工具:Apache JMeter (非GUI模式压测)
2.测试材料:Deepseek API (https://api.deepseek.com)
3.实验资产:Deepseek API-Key (需从Deepseek官网充值)
实验步骤:
实验简介:利用JMeter设置多个线程组接入Deepseek API进行循环测试
总体框架:

1.添加线程组(Thread Group):
添加三个不同的线程组(Thread Group),这里每个线程组我设置的是一个线程数,循环次数采用了无限循环(此处为了验证线性or并行,可以手动停止后观察每次启动进程的分界)。


2.添加HTTP请求采样器(HTTP Request):
在JMeter中HTTP请求采样器的核心作用是模拟HTTP下客户端的请求,并向服务器发送请求获得回应。在其中填写相对应的Web服务器的协议,IP,端口号以及HTTP请求的路径。由于三个线程使用的是相同的Web服务器以及HTTP请求路径,所以我在开头新添了一个HTTP请求默认值,这样就可以避免反复填写相同信息,并在每个线程组下创立其独特的HTTP请求,以便后续操作。

3.添加HTTP信息头管理器(HTTP Header Manager):
新添HTTP信息头管理器,创建头部信息填写名称和值。Bearer后的API本人自用已隐藏。

4.添加请求体(JSON Body):
回到HTTP请求的配置页面,在消息体数据中粘贴JSON请求体。
线程组(你是谁?)的JSON请求体:
{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你是谁?"}
],
"stream": false
}
线程组(1+1=?)的JSON请求体:
{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "1+1等于几?"}
],
"stream": false
}
线程组(大学生就业情况?)的JSON请求体:
{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你怎么看待当下大学生就业情况"}
],
"stream": false
}
5.添加监听器查看结果:
由于为了更好查看每个进程的开始结束时间,我使用了“用表格查看结果”的监听器,从而可以清晰的看到每个请求的详细结果。
实验结果与分析:
上述实验步骤结束后,初次运行JMeter,得到了以下的表格数据:

通过以上表格数据我们可以具体分析:
1.三个样本的起始时间分析:
第一次测试三个样本的开始时间均为16:14:18.853
第二次测试三个样本的开始时间均为16:15:24.608
这两组数据则可以看出,这三个请求是同时发起的,但是响应时间并不一样,可以说明API没有严格按照顺序依次执行,而是同时响应的并行处理。
2.后续交叉返回:
表格中三个样本的返回顺序,并不是按照一定规律,而是交叉返回。说明返回顺序与发送请求顺序无关,更一步验证了并行处理的结果。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)