故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT私有部署时的连接超时报错问题

FastGPT 私有部署运行时,fastgpt 容器会输出报错日志:[ERROR] 2024-02-25 10:48:13 response error: Connection terminated due to connection timeout,完整报错堆栈包含调用数据集插入接口、团队配额检查接口的相…

现象

FastGPT 私有部署运行时,fastgpt 容器会输出报错日志:[ERROR] 2024-02-25 10:48:13 response error: Connection terminated due to connection timeout,完整报错堆栈包含调用数据集插入接口、团队配额检查接口的相关调用链。同时 mongo 容器会出现网络连接断开与重新接受的日志记录,如Connection endedConnection accepted相关日志。

可能原因

根据报错日志,该问题大概率与FastGPT服务与MongoDB的网络连接或超时配置有关。报错堆栈显示请求链路涉及数据集数据插入与团队配额检查的API接口,可能存在网络延迟过高、连接超时阈值设置过短,或MongoDB连接池配置不足的情况。另外也需确认容器间网络连通性是否正常。

排查步骤

  1. 进入FastGPT容器,执行ping命令测试与MongoDB服务的网络连通性,命令示例:ping <mongo服务名或容器IP>
  2. 查看FastGPT的MongoDB连接配置参数,确认连接超时、socket超时等配置是否符合实际网络环境。
  3. 查看MongoDB容器的日志,确认是否存在大量连接断开、连接数超限的记录,对应issue中mongo日志显示有网络连接相关事件。
  4. 查看当前FastGPT服务的请求负载,确认是否存在并发过高导致连接耗尽的情况。

解决与验证

  1. 若网络连通性异常,修复容器间网络配置,确保FastGPT可以正常访问MongoDB服务。
  2. 调整MongoDB连接超时相关配置,适当延长超时阈值,需按实际环境确认具体参数值。
  3. 若MongoDB连接数不足,调整MongoDB的最大连接数配置,或优化FastGPT的连接池大小。
  4. 验证方式:重新触发引发报错的场景操作,确认fastgpt容器不再输出该连接超时报错,且API接口可以正常返回结果。

来源:FastGPT GitHub issue