# 性能优化:发车超时统一1000ms v3.11.6 ## 📋 更新时间 2025-10-08 ## 🎯 优化目标 将批量自动化中"发车"任务的所有超时时间统一调整为 **1000ms**,测试是否可行,提升任务执行速度。 ## 📊 修改前后对比 ### 修改前配置(v3.11.5) | 操作步骤 | WebSocket命令 | 超时时间 | 说明 | |---------|--------------|---------|------| | 1️⃣ 查询车辆 | `car_getrolecar` | **10000ms** (10秒) | 查询俱乐部车辆信息 | | 2️⃣ 批量刷新 | `car_refresh` | **5000ms** (5秒) | 刷新每辆车 | | 3️⃣ 批量收获 | `car_claim` | **5000ms** (5秒) | 收获已到达的车辆 | | 4️⃣ 批量发送 | `car_send` | **5000ms** (5秒) | 发送待发车的车辆 | | 5️⃣ 最终验证 | `car_getrolecar` | **10000ms** (10秒) | 验证最终发车数 | **预估单次发车时间:** 约 10-30秒 ### 修改后配置(v3.11.6) | 操作步骤 | WebSocket命令 | 超时时间 | 说明 | |---------|--------------|---------|------| | 1️⃣ 查询车辆 | `car_getrolecar` | **1000ms** (1秒) ⬇️ | 查询俱乐部车辆信息 | | 2️⃣ 批量刷新 | `car_refresh` | **1000ms** (1秒) ⬇️ | 刷新每辆车 | | 3️⃣ 批量收获 | `car_claim` | **1000ms** (1秒) ⬇️ | 收获已到达的车辆 | | 4️⃣ 批量发送 | `car_send` | **1000ms** (1秒) ⬇️ | 发送待发车的车辆 | | 5️⃣ 最终验证 | `car_getrolecar` | **1000ms** (1秒) ⬇️ | 验证最终发车数 | **预估单次发车时间:** 约 3-8秒 ⬇️ **(减少70%)** ## ✨ 优化效果 ### 时间节省 | 场景 | 修改前 | 修改后 | 节省时间 | |------|--------|--------|---------| | **单次发车(4辆车)** | 10-30秒 | 3-8秒 | **节省 7-22秒** | | **21个Token批量(并发3)** | 约3-5分钟 | 约1-2分钟 | **节省 2-3分钟** | | **100个Token批量(并发5)** | 约15-25分钟 | 约5-8分钟 | **节省 10-17分钟** | ### 性能提升 1. ✅ **执行速度提升 70%**:发车任务执行时间大幅缩短 2. ✅ **响应更快**:用户体验更流畅 3. ✅ **吞吐量提升**:相同时间内可处理更多token 4. ✅ **统一配置**:所有发车操作使用相同超时,便于维护 ## 🔧 代码修改 ### 修改的文件 `src/stores/batchTaskStore.js` ### 修改内容 #### 1️⃣ 查询车辆(第1180行) ```javascript // 修改前 const response = await tokenStore.sendMessageAsync(tokenId, 'car_getrolecar', {}, 10000) // 修改后 const response = await tokenStore.sendMessageAsync(tokenId, 'car_getrolecar', {}, 1000) ``` #### 2️⃣ 批量刷新(第1297行) ```javascript // 修改前 await tokenStore.sendMessageAsync(tokenId, 'car_refresh', { carId: carId }, 5000) // 修改后 await tokenStore.sendMessageAsync(tokenId, 'car_refresh', { carId: carId }, 1000) ``` #### 3️⃣ 批量收获(第1363行) ```javascript // 修改前 await tokenStore.sendMessageAsync(tokenId, 'car_claim', { carId: carId }, 5000) // 修改后 await tokenStore.sendMessageAsync(tokenId, 'car_claim', { carId: carId }, 1000) ``` #### 4️⃣ 批量发送(第1463行) ```javascript // 修改前 await tokenStore.sendMessageAsync(tokenId, 'car_send', { carId: carId, helperId: 0, text: "" }, 5000) // 修改后 await tokenStore.sendMessageAsync(tokenId, 'car_send', { carId: carId, helperId: 0, text: "" }, 1000) ``` #### 5️⃣ 最终验证(queryClubCars 函数复用,已包含在第1180行修改中) ## ⚠️ 注意事项 ### 可能的风险 1. **超时风险**: - 网络较慢时,1000ms 可能不足以完成请求 - 服务器响应慢时,可能出现超时错误 - 高并发时,服务器压力大可能导致超时 2. **失败处理**: - 如果频繁超时,自动重试机制会生效 - 部分任务失败会触发整体任务重试 3. **适用场景**: - ✅ 网络状况良好 - ✅ 服务器响应快速 - ✅ 并发数适中(≤10) - ❌ 网络不稳定 - ❌ 服务器负载高 - ❌ 超高并发(>20) ### 监控建议 在使用新配置时,请注意观察: 1. **成功率**: - 发车任务成功率是否下降 - 是否出现频繁的超时错误 2. **重试频率**: - 自动重试是否频繁触发 - 重试后成功率如何 3. **日志信息**: ``` ✅ 正常:[token_xxx] 查询车辆成功 (在1000ms内) ⚠️ 警告:请求超时: car_getrolecar (1000ms) 🔄 重试:自动重试失败任务(第1/3轮) ``` ## 🧪 测试建议 ### 测试场景1:正常网络环境 1. 运行批量自动化,选择3-5个token 2. 启用"发车"任务 3. 观察: - ✅ 发车任务是否快速完成(3-8秒) - ✅ 是否有超时错误 - ✅ 最终发车数是否准确(4/4) ### 测试场景2:高并发环境 1. 运行批量自动化,选择10-20个token 2. 设置并发数为10 3. 观察: - ✅ 发车任务成功率 - ⚠️ 是否出现超时错误增加 - 📊 整体完成时间对比 ### 测试场景3:网络较慢环境 1. 在网络不佳时运行批量自动化 2. 观察: - ⚠️ 超时错误频率 - 🔄 重试机制是否有效 - 💡 是否需要恢复更长的超时时间 ## 📈 性能数据记录 ### 建议记录的指标 | 指标 | 修改前 | 修改后 | 改进 | |------|--------|--------|------| | 单次发车平均时间 | ___秒 | ___秒 | ___% | | 发车任务成功率 | ___% | ___% | ___% | | 超时错误频率 | ___次/100次 | ___次/100次 | ___次 | | 重试触发频率 | ___% | ___% | ___% | **请在实际使用中填写,以评估优化效果** ## 🔄 回滚方案 如果新配置导致频繁超时或成功率下降,可以恢复为原配置: ### 方案A:仅恢复查询和验证(推荐) ```javascript // 查询车辆和最终验证 car_getrolecar: 1000ms → 5000ms // 刷新、收获、发送保持1000ms car_refresh: 1000ms car_claim: 1000ms car_send: 1000ms ``` ### 方案B:全部恢复(保守) ```javascript car_getrolecar: 1000ms → 10000ms car_refresh: 1000ms → 5000ms car_claim: 1000ms → 5000ms car_send: 1000ms → 5000ms ``` ### 方案C:折中配置(平衡) ```javascript // 所有操作统一为3000ms car_getrolecar: 1000ms → 3000ms car_refresh: 1000ms → 3000ms car_claim: 1000ms → 3000ms car_send: 1000ms → 3000ms ``` ## 💡 未来优化方向 1. **自适应超时**: - 根据历史响应时间动态调整超时 - 网络慢时自动延长,网络快时自动缩短 2. **并发优化**: - 根据超时频率动态调整并发数 - 超时率高时自动降低并发 3. **错误重试优化**: - 超时错误使用更短的重试间隔 - 其他错误使用标准重试间隔 4. **配置UI化**: - 允许用户在设置中自定义超时时间 - 提供"快速/标准/保守"预设模式 ## 🔗 相关文档 - [批量自动化-超时延迟配置表v3.11.md](./批量自动化-超时延迟配置表v3.11.md) - [功能优化-发车任务最终验证v3.11.3.md](./功能优化-发车任务最终验证v3.11.3.md) - [问题修复-部分任务失败触发重试v3.11.4.md](./问题修复-部分任务失败触发重试v3.11.4.md) ## 📝 版本历史 ### v3.11.6 (2025-10-08) - ⚡ 性能优化:发车任务所有超时时间统一调整为1000ms - 📊 预期效果:任务执行速度提升70% - 🔄 说明:统一超时配置,便于维护和调整 ### v3.11.5 (2025-10-08) - 🐛 修复:答题任务3100080错误处理 ### v3.11.4 (2025-10-08) - 🐛 修复:部分任务失败触发重试 ### v3.11.3 (2025-10-08) - ✨ 新增:发车任务最终验证步骤 --- ## 🎉 总结 此次优化将发车任务的超时时间统一调整为 **1000ms**,预期可将发车任务执行时间缩短 **70%**。 **建议:** - ✅ 先在小规模(3-5个token)测试 - ✅ 观察成功率和超时频率 - ✅ 根据实际情况决定是否需要调整 - ⚠️ 如遇频繁超时,请参考回滚方案 **反馈:** 请在使用后提供实际效果反馈,以便进一步优化!