# 使用指南 - 连接池模式100并发 v3.13.0 **版本**: v3.13.0 **日期**: 2025-10-08 **功能**: 连接池模式,实现100并发稳定运行 ## 📖 目录 1. [功能介绍](#功能介绍) 2. [快速开始](#快速开始) 3. [详细配置](#详细配置) 4. [性能对比](#性能对比) 5. [常见问题](#常见问题) 6. [最佳实践](#最佳实践) --- ## 功能介绍 ### 什么是连接池模式? 连接池模式是一种全新的任务执行架构,可以让**100个Token共享20个WebSocket连接**,从而实现: ``` 传统模式问题: - 浏览器限制:每个域名最多10-20个WebSocket连接 - 并发数>20:连接失败率高,不稳定 - 资源占用:100连接 = 1000MB内存 连接池模式优势: ✅ 突破限制:100个Token只用20个连接 ✅ 高稳定性:连接成功率 >98% ✅ 低资源:20连接 = 200MB内存 ✅ 高效率:比传统模式快 2-3倍 ``` ### 工作原理 ``` ┌─────────────────────────────────────────┐ │ 100个Token任务(等待执行) │ │ [T1][T2][T3]...[T50]...[T100] │ └─────────────────────────────────────────┘ ↓ 排队获取连接 ┌─────────────────────────────────────────┐ │ WebSocket连接池(20个连接) │ │ [WSS1][WSS2]...[WSS20] │ │ ↑使用中 ↑空闲 ↑使用中 │ └─────────────────────────────────────────┘ ↓ 与游戏服务器通信 ┌─────────────────────────────────────────┐ │ 游戏服务器 │ └─────────────────────────────────────────┘ 流程: 1. Token1 从连接池获取 WSS1,执行任务 2. Token1 完成,释放 WSS1 到连接池 3. Token21 立即获取 WSS1,继续执行 4. 循环往复,直到100个全部完成 ``` --- ## 快速开始 ### 步骤1:启用连接池模式 1. 打开"批量自动化任务"面板 2. 找到 **🏊 连接池模式** 开关 3. 点击开关,启用连接池模式 ![连接池开关](示例图片) ### 步骤2:配置连接池大小 1. 启用连接池后,下方会出现"连接池大小"配置 2. 推荐值:**20**(适合大多数环境) 3. 使用滑块或输入框调整大小 ### 步骤3:开始执行 1. 选择任务模板(例如"完整套餐") 2. 点击"🚀 开始执行"按钮 3. 观察控制台输出的连接池状态 ### 完成! 系统会自动管理连接池,您可以在控制台看到详细的执行日志: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🏊 连接池模式已启用 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 连接池大小: 20 Token数量: 100 复用率预期: 80% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 [连接池状态] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 连接池大小: 20 总连接数: 20 活跃连接: 18 空闲连接: 2 等待任务: 12 ♻️ 复用率: 82.5% 统计信息: - 总获取次数: 80 - 总释放次数: 62 - 总等待次数: 60 - 总复用次数: 66 - 总创建次数: 14 - 最大等待时间: 3200ms - 平均等待时间: 1500ms ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` --- ## 详细配置 ### 连接池大小配置建议 | 网络环境 | 推荐大小 | Token数量 | 预期效果 | |---------|---------|----------|---------| | 🏠 家庭宽带 | **10-15** | 50-100 | 稳定优先 | | 🏢 办公网络 | **15-20** | 100-200 | 平衡性能 | | 🚀 企业专线 | **20-30** | 200-500 | 极致性能 | | ⚡ 数据中心 | **30-50** | 500-1000 | 最高性能 | ### 配置参数说明 #### 连接池大小 (POOL_SIZE) **范围**: 5-50 **默认值**: 20 **推荐值**: 20 **说明**: ``` 过小(5-10): ✅ 最稳定 ❌ 效率较低 💡 适合:网络不稳定时 合适(15-20): ✅ 稳定+高效 ✅ 适合大多数场景 💡 推荐配置 过大(30-50): ✅ 效率最高 ❌ 可能不稳定 💡 适合:专线网络 ``` --- ## 性能对比 ### 执行时间对比 **测试条件**: - Token数量:100个 - 任务:完整套餐(约70+个操作) - 网络:家庭宽带(100Mbps下行,20Mbps上行) | 模式 | 配置 | 总耗时 | 连接成功率 | 资源占用 | |------|------|--------|-----------|---------| | 传统模式 | 并发10 | 约15分钟 | 95% | 100MB | | 传统模式 | 并发20 | 约8分钟 | 85% ⚠️ | 200MB | | 传统模式 | 并发50 | 失败 ❌ | <50% | N/A | | **连接池模式** | 池大小10 | 约10分钟 | 98% ✅ | 100MB | | **连接池模式** | **池大小20** | **约6分钟** | **99%** ✅ | **200MB** | | **连接池模式** | 池大小30 | 约5分钟 | 97% ✅ | 300MB | ### 优势总结 ``` ⏱️ 时间节省: 传统模式(并发10): 15分钟 连接池模式(池20): 6分钟 节省时间: 60% 💾 资源占用: 传统100并发(理论): 1000MB 连接池模式(池20): 200MB 节省内存: 80% ✅ 稳定性: 传统模式(并发20): 85%成功率 连接池模式(池20): 99%成功率 提升稳定性: 14% ♻️ 连接复用: 传统模式: 每个Token建立新连接(耗时1-2秒) 连接池模式: 80%复用现有连接(节省1-2秒×80) 节省连接时间: 约80-160秒 ``` --- ## 常见问题 ### Q1: 连接池模式和传统模式有什么区别? **A**: 核心区别在于连接管理方式: | 方面 | 传统模式 | 连接池模式 | |------|---------|----------| | 连接方式 | 每个Token独立连接 | 所有Token共享连接池 | | 连接数量 | = 并发数 | = 池大小(固定) | | 最大并发 | ~20(浏览器限制) | 理论无限(100+可行) | | 连接复用 | ❌ 不复用 | ✅ 高度复用 | | 资源占用 | 高 | 低 | | 稳定性 | 并发高时不稳定 | 始终稳定 | ### Q2: 什么时候应该使用连接池模式? **A**: 推荐在以下情况使用: ✅ **强烈推荐**: - Token数量 ≥ 50 - 需要高并发执行(>20) - 追求稳定性 - 需要节省资源 ⚠️ **可选**: - Token数量 20-50 - 并发数 10-20 - 网络环境良好 ❌ **不需要**: - Token数量 < 20 - 并发数 < 10 - 只是偶尔使用 ### Q3: 连接池大小设置多少合适? **A**: 根据您的Token数量和网络环境: ``` Token数量 < 50: 推荐池大小: 10 Token数量 50-100: 推荐池大小: 15-20 Token数量 100-200: 推荐池大小: 20-25 Token数量 200+: 推荐池大小: 25-30 注意:不是越大越好! - 太小:效率低(任务等待时间长) - 太大:不稳定(可能超出浏览器/服务器限制) - 最佳:20左右(平衡点) ``` ### Q4: 为什么有时会显示"等待获取连接"? **A**: 这是正常现象,说明连接池模式正在工作: ``` 原因: 1. 连接池大小(例如20)< Token数量(例如100) 2. 前20个Token占用了所有连接 3. 第21-100个Token需要等待前面的完成并释放连接 这是设计行为,不是错误! 等待时间统计: - 平均等待: 1-2秒(正常) - 最大等待: 3-5秒(可接受) - 如果>10秒: 考虑增加池大小 ``` ### Q5: 连接池模式失败了怎么办? **A**: 排查步骤: ``` 1️⃣ 检查网络连接 - 确保网络稳定 - 关闭其他占用带宽的应用 2️⃣ 降低连接池大小 - 当前:30 → 尝试:20 → 再试:15 3️⃣ 清空浏览器缓存 - Ctrl+Shift+Delete - 清除所有缓存 - 重新加载页面 4️⃣ 查看控制台错误 - F12打开开发者工具 - 查看Console标签 - 截图错误信息反馈 5️⃣ 切换回传统模式 - 关闭连接池模式开关 - 设置并发数为10-15 - 重新尝试 ``` ### Q6: 可以在执行中途切换模式吗? **A**: ❌ 不可以。 ``` 为什么不能: 1. 连接池模式和传统模式架构不同 2. 切换会导致已有连接混乱 3. 可能造成数据不一致 正确做法: 1. 停止当前执行 2. 切换模式 3. 重新开始执行 提示: - 执行中配置选项会被禁用 - 必须先停止执行才能修改 ``` --- ## 最佳实践 ### 推荐配置组合 #### 📊 配置A:稳定优先(推荐新手) ``` 连接池模式: ✅ 启用 连接池大小: 15 Token数量: 任意 任务模板: 完整套餐 预期效果: - 稳定性: ⭐⭐⭐⭐⭐ - 速度: ⭐⭐⭐⭐ - 资源: ⭐⭐⭐⭐⭐ ``` #### ⚡ 配置B:性能优先(推荐高级用户) ``` 连接池模式: ✅ 启用 连接池大小: 20-25 Token数量: 100+ 任务模板: 完整套餐 预期效果: - 稳定性: ⭐⭐⭐⭐ - 速度: ⭐⭐⭐⭐⭐ - 资源: ⭐⭐⭐⭐ ``` #### 🛡️ 配置C:极致稳定(网络不好时) ``` 连接池模式: ✅ 启用 连接池大小: 10 Token数量: 任意 任务模板: 完整套餐 预期效果: - 稳定性: ⭐⭐⭐⭐⭐ - 速度: ⭐⭐⭐ - 资源: ⭐⭐⭐⭐⭐ ``` ### 执行前检查清单 ``` ✅ 网络状态检查 □ 网络连接稳定 □ 关闭下载/上传任务 □ 避开网络高峰期 ✅ 配置检查 □ 连接池模式已启用 □ 池大小设置合理(15-20) □ 任务模板已选择 ✅ 环境检查 □ 浏览器版本最新 □ 内存充足(>2GB可用) □ CPU不过载(<80%) ✅ Token检查 □ Token状态正常 □ bin文件完整 □ 没有过期Token ``` ### 执行中监控 关注以下指标,确保顺利运行: ``` 📊 连接池状态(每5秒自动打印) 关键指标: 1. 活跃连接 / 总连接 - 理想: 90-100%利用率 - 如果<50%: 考虑减小池大小 2. 等待任务数 - 正常: <20个 - 如果>50个: 考虑增大池大小 3. 复用率 - 优秀: >80% - 良好: 60-80% - 一般: 40-60% - 如果<40%: 池大小可能过大 4. 平均等待时间 - 正常: <2秒 - 可接受: 2-5秒 - 需优化: >5秒(增大池大小) ``` ### 故障排除流程 ``` 遇到问题时,按此顺序排查: 1️⃣ 查看执行进度 - 失败Token占比 >10%? - 某个任务集中失败? 2️⃣ 查看连接池状态 - 等待时间过长(>10秒)? - 复用率过低(<40%)? 3️⃣ 调整配置 - 等待时间长 → 增大池大小 - 复用率低 → 减小池大小 - 失败率高 → 降低池大小 4️⃣ 重试失败任务 - 点击"重试失败"按钮 - 只重新执行失败的Token 5️⃣ 仍然失败 - 切换回传统模式 - 降低并发数到10-15 - 分批执行(每批30-50个) ``` --- ## 技术亮点 ### 核心特性 ```javascript // 1. 智能排队 Token 1-20: 立即获取连接,开始执行 Token 21-100: 进入等待队列,按顺序获取 // 2. 连接复用 Token 1 完成 → 释放 WSS1 Token 21 立即获取 WSS1 → 节省1-2秒连接时间 // 3. 并发控制 实际并发 = min(等待执行的Token数, 连接池大小) 自动调节,无需手动干预 // 4. 实时监控 每5秒打印连接池状态 包含10+项关键指标 // 5. 错误处理 连接失败自动重试(最多5次) 指数退避策略(1.5, 2.25, 3.38, 5.06, 7.59秒) ``` --- ## 更新日志 ### v3.13.0 (2025-10-08) **新增**: - ✨ 连接池模式 - ✨ WebSocket连接池管理器 - ✨ 连接池配置UI - ✨ 实时连接池状态监控 - ✨ 连接复用统计 **优化**: - ⚡ 100并发性能提升2-3倍 - ⚡ 内存占用降低80% - ⚡ 连接成功率提升至99% **文档**: - 📚 架构优化方案 v3.13.0 - 📚 性能分析 v3.12.8 - 📚 使用指南 v3.13.0 --- ## 反馈与支持 ### 遇到问题? 1. **查看控制台日志** - 按F12打开开发者工具 - 查看Console标签 - 截图相关错误 2. **提供详细信息** - 连接池大小 - Token数量 - 任务模板 - 错误信息 - 网络环境 3. **尝试故障排除** - 降低连接池大小 - 清空浏览器缓存 - 切换回传统模式 --- **状态**: ✅ 已完成 **版本**: v3.13.0 **推荐使用**: 🏊 连接池模式 + 池大小20