大家好,我是 ai 学习的老章
介绍一个大模型并发性能测试工具
看一下我高频使用的,在2*4090
显卡上部署的 DeepSeek-R1-0528-Qwen-8B
性能如何
_我_特别喜欢的三个DeepSeek版本
DeepSeek-R1-0528 蒸馏 Qwen3:8B 大模型,双 4090 本地部署,深得我心
LLM-Benchmark 项目简介
项目地址:https://github.com/lework/llm-benchmark
LLM-Benchmark 是一个专为大语言模型(LLM)设计的并发性能测试工具,旨在为模型开发者和运维人员提供自动化压力测试和性能报告生成能力。通过该工具,用户可以在不同并发场景下全面评估 LLM 服务的响应能力与稳定性,为模型部署和优化提供数据支持。
主要功能
- 多阶段并发测试
LLM-Benchmark 支持从低并发到高并发的多阶段压力测试,帮助用户了解模型在不同负载下的表现,定位性能瓶颈。 - 自动化测试数据收集与分析
工具自动采集每轮测试的详细数据,包括响应时间、吞吐量、错误率等,极大提升测试效率和数据准确性。 - 性能指标统计与可视化报告
LLM-Benchmark 能生成详细的性能报告,支持可视化展示,方便用户直观分析测试结果。 - 短文本与长文本场景支持
针对不同应用需求,工具支持短文本和长文本两种测试模式,覆盖更广泛的真实使用环境。 - 灵活的配置选项
用户可通过命令行参数灵活配置测试目标、模型类型、并发数、请求数等关键参数,适应多种测试需求。 - JSON 输出支持
测试结果可输出为 JSON 格式,便于后续数据分析或与其他工具集成。
适用场景
- LLM 服务上线前的性能评估与优化
- 不同模型、不同部署方式的横向对比
- 长文本与短文本场景下的极限压力测试
- 自动化回归测试与性能监控
核心文件包括:
- run_benchmarks.py:自动化测试脚本,负责执行多轮压力测试、自动调整并发配置(1-300 并发)、收集和汇总测试数据,并生成美观的性能报告。
- llm_benchmark.py:并发测试的核心实现,负责管理并发请求、连接池,收集详细性能指标,并支持流式响应测试。
- assets/:资源文件夹,用于存储测试所需的辅助资源。
- README.md:项目文档,介绍工具用法和参数说明。
使用方法
1. 运行全套性能测试
通过 run_benchmarks.py 脚本,可以自动完成多轮不同并发量的压力测试,适合全面评估 LLM 服务性能:
python run_benchmarks.py \--llm_url "http://your-llm-server" \--api_key "your-api-key" \--model "your-model-name" \--use_long_context
参数说明:
- –llm_url:待测 LLM 服务的 URL(必填)
- –api_key:API 密钥(可选)
- –model:模型名称(默认 deepseek-r1)
- –use_long_context:启用长文本测试(默认 False)
2. 运行单次并发测试
如需针对特定并发量进行单轮测试,可使用 llm_benchmark.py 脚本:python llm_benchmark.py \
python llm_benchmark.py \--llm_url "http://your-llm-server" \--api_key "your-api-key" \--model "your-model-name" \--num_requests 100 \--concurrency 10
参数说明:
- –num_requests:总请求数(必填)
- –concurrency:并发数(必填)
- 其他参数与上文类似,还可配置输出 token 数、请求超时、输出格式等。
性能报告与输出
我测试的是全套性能,使用了长上下文模式
python run_benchmarks.py \--llm_url "http://localhost:8001/v1" \--api_key "123" \--model "R1-0528-Qwen3-8B" \--use_long_context
结果如下:
返回性能测试指标的概念说明:
-
1. RPS(每秒请求数,Requests Per Second)
RPS 表示系统每秒能够处理的请求数量,是衡量系统吞吐能力的核心指标。反映模型或服务的并发处理能力,RPS 越高,说明系统单位时间内能服务更多用户,适合高并发场景。 -
2. 平均延迟(秒,Average Latency)
平均延迟指所有请求从发出到收到响应的平均耗时,衡量用户实际体验的响应速度,平均延迟越低,用户等待时间越短,体验越好。 -
3. P99延迟(秒,P99 Latency)
指 99% 的请求响应时间低于该值,只有 1% 的请求耗时更长。反映极端情况下的响应速度,衡量系统在高负载或偶发异常时的表现,适合评估服务的稳定性和最差体验。 -
4. 平均TPS(Transactions Per Second)
平均 TPS 表示每秒生成的 token 数量(在大模型场景下,通常指每秒生成的文本 token 数),衡量模型的实际生成速度,TPS 越高,说明模型生成文本的效率越高,适合需要快速输出的业务场景。 -
5. 首Token延迟(秒,First Token Latency)
首 Token 延迟是指从请求发出到生成第一个 token 的耗时,反映模型首次响应的启动速度,首 Token 延迟越低,用户首次看到回复的速度越快,提升交互体验。
这个结果还是不错的,50个并发情况下,平均延迟2.4
秒,平均TPS 42.44
- 吞吐量(RPS)提升明显
随着并发数提升,RPS 从单并发的 0.91 快速提升到 300 并发下的 43.53,说明模型具备很强的高并发处理能力。 - 响应速度与延迟变化
并发数提升带来平均延迟的增加,单并发下平均延迟仅 1.098 秒,300 并发时增至 12.62 秒,P99 延迟也有类似趋势。高并发下部分请求耗时显著增加。 - 首 Token 延迟
首 Token 延迟在低并发时极低(0.035 秒),但在 200/300 并发时升至 2.849 秒,说明高并发下模型启动响应速度有所下降。 - 平均 TPS 下降
随着并发提升,平均 TPS 从 90.89 逐步下降到 12.62,反映高负载时单请求生成 token 的速度受到影响。 - 成功率始终 100%
各并发场景下无失败请求,模型稳定性表现优秀。
作为对比,我让豆包帮我找了一下市面上主流平台DeepSeek API的生成速度
- DeepSeek:DeepSeek-V3 的文本生成速度官方宣称是 60 tokens 每秒。但据一些测试数据显示,通过 API 向 DeepSeek-R1 模型服务器发送请求时,其生成速度有所波动,如 Content 部分 118 tokens,用时 3.12 秒,生成速度 37.76 tokens/s;总体生成 436 tokens,总用时 13.21 秒,平均速度 33.01 tokens/s 等。在深圳本地对 DeepSeek - R1 API 服务测试中,DeepSeek 官方的生成速度为 37.117 tokens/s,推理速度为 25.378 tokens/s。
- 其他平台:
- 火山引擎:在深圳本地测试中,生成速度可达 65.673 tokens/s,在成都测试中生成速度高达 72.276 tokens/s。在对六家主流平台的 API 版本评测中,火山引擎平台的回复速度均值达到 32tokens/s,推理速度均值达到 29tokens/s,其在深度推理效率与系统稳定性方面优势显著。
- 硅基流动:在深圳本地测试中,生成速度为 16.966 tokens/s。
- 阿里云百炼:在深圳本地测试中,生成速度为 11.813 tokens/s,且呈现出明显的时段性波动特征。
- 讯飞开放平台:在六家主流平台 API 版本评测中,推理速度均值为 1.2tokens/s,总平均速度表现较差。
- Meta 的 Llama API:Cerebras 宣称其 Llama 4 Cerebras 模型的 tokens 生成速度高达 2600 tokens/s,Groq 提供的 Llama 4 Scout 模型速度为 460 tokens/s。
总结:资源有限DeepSeek-R1-0528-Qwen-8B
是你的不二之选
制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个🌟,谢谢你看我的文章,我们下篇再见!
搭建完美的写作环境:工具篇(12 章)
图解机器学习 - 中文版(72 张 PNG)
ChatGPT、大模型系列研究报告(50 个 PDF)
108 页 PDF 小册子:搭建机器学习开发环境及 Python 基础
116 页 PDF 小册子:机器学习中的概率论、统计学、线性代数
史上最全!371 张速查表,涵盖 AI、ChatGPT、Python、R、深度学习、机器学习等