THINGJS RAG 知识库 · 并发压测
验证目标
- 验证对象:本地
Qwen3-Embedding-4B的 Embeddings 接口,记录短文本生成向量时的客户端并发、完整响应耗时与成功情况。 - 关注点:分别在 30 秒和 60 秒客户端超时下,找出全部请求成功的最高已测并发,并识别所有请求都能在 10 秒内完成的档位。
环境与参数
- 模型:
Qwen3-Embedding-4B。 - 显卡:NVIDIA RTX 5070 Ti 16GB。
- 请求:
POST /v1/embeddings,每次发送带不同编号的同一短中文问句;成功响应为非空的 2560 维向量。 - 客户端:全部请求共用一个最多 32 条长连接的连接池;每个并发档位最多重复两次,任一轮失败即判该档未通过。
- 超时设置:分别设为 30 秒和 60 秒,单次请求超过对应时限记为超时失败。
指标口径
- 并发:客户端同时发起的请求数;连接池同时最多使用 32 条连接,其余请求在客户端排队。
- 全成功:该档已执行的请求均返回非空向量,且无超时、HTTP 错误或网络错误。最高全成功并发要求该档两次测试都通过。
- p50、p95、最慢:成功请求从发送到完整返回向量的耗时;失败请求不计入耗时分布。p95 表示 95% 的成功请求不慢于该数值。
- 成功请求/秒:该档成功请求数除以该档压测总耗时。两份报告的各档 HTTP 错误、网络错误和空向量数均为 0,因此下表只单列超时数。
测试过程
- 并发阶梯:从低并发逐档提高,出现失败后在通过与失败档之间继续收窄;每档最多执行两次。
- 两组条件:模型、短文本请求和 32 条连接的客户端连接池相同,只改变单次请求的客户端超时时限。
结果
客户端超时 30 秒
| 并发 | 结果 | 成功 | 超时 | p50 | p95 | 最慢 | 成功请求/秒 |
|---|---|---|---|---|---|---|---|
| 128 | 通过 | 256/256 | 0 | 0.56 秒 | 1.0 秒 | 1.0 秒 | 127.43 |
| 256 | 通过 | 512/512 | 0 | 1.0 秒 | 1.9 秒 | 1.9 秒 | 134.77 |
| 512 | 通过 | 1024/1024 | 0 | 1.9 秒 | 3.6 秒 | 3.6 秒 | 140.52 |
| 1024 | 通过 | 2048/2048 | 0 | 3.8 秒 | 7.0 秒 | 7.5 秒 | 138.36 |
| 2048 | 通过 | 4096/4096 | 0 | 7.7 秒 | 14.3 秒 | 15.0 秒 | 135.71 |
| 4096 | 通过 | 8192/8192 | 0 | 15.0 秒 | 28.5 秒 | 29.9 秒 | 136.57 |
| 4097 | 通过 | 8194/8194 | 0 | 15.1 秒 | 28.6 秒 | 30.0 秒 | 136.05 |
| 4098 | 失败(仅执行一次) | 4070/4098 | 28 | 15.1 秒 | 28.5 秒 | 30.0 秒 | 135.09 |
客户端超时 60 秒
| 并发 | 结果 | 成功 | 超时 | p50 | p95 | 最慢 | 成功请求/秒 |
|---|---|---|---|---|---|---|---|
| 128 | 通过 | 256/256 | 0 | 0.55 秒 | 0.96 秒 | 0.97 秒 | 131.01 |
| 256 | 通过 | 512/512 | 0 | 1.0 秒 | 1.8 秒 | 1.8 秒 | 138.57 |
| 512 | 通过 | 1024/1024 | 0 | 1.9 秒 | 3.6 秒 | 3.6 秒 | 139.74 |
| 1024 | 通过 | 2048/2048 | 0 | 3.8 秒 | 7.0 秒 | 7.3 秒 | 139.96 |
| 2048 | 通过 | 4096/4096 | 0 | 7.6 秒 | 14.3 秒 | 15.0 秒 | 135.67 |
| 4096 | 通过 | 8192/8192 | 0 | 15.0 秒 | 28.3 秒 | 29.9 秒 | 136.87 |
| 6144 | 通过 | 12288/12288 | 0 | 22.5 秒 | 42.6 秒 | 44.9 秒 | 136.44 |
| 8175 | 通过 | 16350/16350 | 0 | 30.0 秒 | 56.8 秒 | 59.8 秒 | 136.51 |
| 8176 | 失败(仅执行一次) | 8164/8176 | 12 | 30.1 秒 | 57.0 秒 | 60.0 秒 | 135.52 |
结论
- 10 秒内完成的体验档位:两组测试的 1024 并发均为 2048/2048 成功,最慢分别为 7.5 秒和 7.3 秒。在已测档位中,这是全部请求都在 10 秒内返回非空向量的最高并发。
- 最高全成功并发:30 秒客户端超时下为 4097,60 秒下为 8175;下一档 4098 和 8176 分别出现 28 次、12 次超时。更高的全成功档位对应更长的完整响应时间。
适用范围
- 适用范围:以上数据对应本次 RTX 5070 Ti 16GB 上运行的
Qwen3-Embedding-4B、短中文问句、32 条长连接,以及 30 秒和 60 秒客户端超时下的 Embeddings 接口请求。