# LLM 性能测试工具 一个用于本地和云端大模型性能测试的网页应用,兼容 OpenAI API 格式。 ## 功能特性 - **API 配置管理**: 支持配置多个 LLM API 端点(如 Ollama、OpenAI、Azure 等) - **模型配置**: 设置模型名称、温度、最大 token 数等参数 - **测试用例管理**: 创建、编辑、删除自定义测试用例 - **性能测试**: - 支持串行和并发测试 - 可配置迭代次数 - 支持流式和非流式模式 - **性能指标**: - **TTFT** (Time To First Token): 首 token 响应时间(毫秒) - **TPS** (Tokens Per Second): 每秒生成 token 数 - 总响应时间 - 输入/输出 token 数量 - **可视化图表**: 使用 Chart.js 生成直观的性能对比图表 - **历史记录**: 保存测试结果,支持查看和对比 ## 快速开始 ### 1. 克隆仓库 ```bash git clone http://47.253.94.217:3000/zxu/llm_perf_test.git cd llm_perf_test ``` ### 2. 安装依赖 ```bash # Python 3.7+ pip install -r requirements.txt # Python 3.6 pip install flask==1.1.4 requests==2.27.1 ``` ### 3. 运行应用 ```bash python3 app.py ``` 应用将在 http://localhost:8001 启动 ### 4. 一键部署 ```bash chmod +x deploy.sh ./deploy.sh ``` 部署脚本会: - 安装依赖 - 创建 systemd 服务 - 启动并启用服务 - 部署到 8001 端口 ## 使用方法 ### 配置 API 1. 打开网页界面 http://localhost:8001 2. 在"API 配置"标签页中设置: - API Base URL: 如 `http://localhost:11434/v1` (Ollama) - API Key: 如果需要身份验证 - 模型名称: 如 `qwen2.5:latest` 3. 点击"验证连接"测试配置是否正确 ### 管理测试用例 在"测试用例"标签页中: - 添加新的测试用例(名称、提示词、期望长度) - 编辑现有测试用例 - 删除不需要的测试用例 - 选择要运行的测试用例 ### 运行测试 在"性能测试"标签页中: 1. 选择测试用例 2. 配置测试参数: - 迭代次数:每个测试用例运行多少次 - 并发数:同时运行的请求数 - 流式模式:是否使用流式 API 调用 3. 点击"开始测试" 4. 等待测试完成,查看结果 ### 查看结果 - 实时查看 TTFT、TPS 等指标 - 查看成功率统计 - 导出详细的测试报告 - 在历史记录中对比不同测试结果 ## API 兼容性 本工具兼容以下 LLM API 格式: - **Ollama**: `http://localhost:11434/v1` - **OpenAI**: `https://api.openai.com/v1` - **Azure OpenAI**: `https://{resource}.openai.azure.com/openai/deployments/{deployment}` - **其他兼容 OpenAI API 的服务** ## 性能指标说明 | 指标 | 说明 | 单位 | |------|------|------| | TTFT | Time To First Token,从发送请求到收到第一个 token 的时间 | 毫秒 (ms) | | TPS | Tokens Per Second,模型生成 token 的速度 | tokens/秒 | | Total Time | 完整请求的响应时间 | 秒 (s) | | Success Rate | 成功请求的比例 | % | ## 文件结构 ``` llm_perf_test/ ├── app.py # Flask 应用主程序 ├── deploy.sh # 部署脚本 ├── requirements.txt # Python 依赖 ├── README.md # 使用说明 ├── templates/ │ └── index.html # 前端页面 └── data/ # 数据存储目录 ├── config.json # API 配置 ├── test_cases.json # 测试用例 └── results.json # 测试结果 ``` ## 系统要求 - Python 3.6+ - 内存: 至少 512MB - 磁盘: 至少 100MB 可用空间 ## 服务管理 ```bash # 查看状态 sudo systemctl status llm_perf_test # 查看日志 sudo journalctl -u llm_perf_test -f # 停止服务 sudo systemctl stop llm_perf_test # 重启服务 sudo systemctl restart llm_perf_test # 禁用开机启动 sudo systemctl disable llm_perf_test ``` ## 访问地址 - 本地: http://localhost:8001 - 局域网: http://<服务器IP>:8001 ## 许可证 MIT License