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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions