Skip to content

Bug Report: APIpark Gateway 504 Timeout Issue #434

@1079870326

Description

@1079870326

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):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions