大家好,我是 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、深度學習、機器學習等