-
Notifications
You must be signed in to change notification settings - Fork 213
Description
Current Behavior
📋 问题描述
APIpark 网关在转发请求到上游服务时,间歇性返回 504 Gateway Timeout 错误,失败率约 50-60%。
🔍 复现步骤
配置上游服务:http://192.168.103.43:50001/translate
通过 APIpark 网关访问:http://192.168.103.97:8099/d98da46b/translate
连续发送 POST 请求进行翻译
📊 测试数据
内网直连测试(100次):
✅ 成功率:100%
⏱️ 平均响应时间:0.233s
🚀 QPS:8.52
APIpark 网关测试(100次):
❌ 成功率:50%(50次失败)
⏱️ 平均响应时间:0.247s
🚀 QPS:8.07
🚨 失败原因:全部为 504 Gateway Timeout
🛠️ 测试命令
bash
PowerShell 测试命令
Invoke-WebRequest -Uri "http://192.168.103.97:8099/d98da46b/translate" -Method POST
-ContentType "application/json" -Headers @{"Authorization"="Bearer 82f76e2e-831d-41f4-ba86-4fb23b4622af"}
-Body '{"text":"你好","src_lang":"zh-Hans","tgt_lang":"en"}'
🔧 已尝试的解决方案
✅ 添加 Connection: close 头部 - 无效
✅ 增加超时时间到 120s - 无效
✅ 实现客户端重试机制 - 可缓解但未根治
💡 关键发现
上游服务正常 - 内网直连 100% 成功
快速失败 - 504 在 0.17-0.23s 内返回,非真实超时
问题在网关层 - APIpark 负载均衡或健康检查配置问题
🎯 建议检查项
上游服务健康检查配置
负载均衡策略设置
连接池管理配置
网关超时设置
上游服务实例状态
📈 影响评估
严重程度:高 - 50% 请求失败
业务影响:翻译服务不可靠
临时方案:客户端重试机制
Expected Behavior
No response
Error Logs
No response
Steps to Reproduce
No response
Environment
- ApiPark version:
- Operating system (run
uname -a):