azure 对我的服务器的API调用随机失败[FastAPI]

tcbh2hod  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(369)

我通常的响应时间<50 ms。这是我的技术:

  • Web服务器:FastAPI+uvicorn
  • 代理:nginx
  • DB:虚拟机上的Postgres
  • 数据库API:sqlalchemy+ pg 8000

有两个Docker容器(~1GB)在VM上运行。
但是,请求不会到达服务器,并且会出现404超时,并出现以下异常(不可重现):

sqlalchemy.exc.InterfaceError: (pg8000.exceptions.InterfaceError) network error

所有服务器都是Azure D series虚拟机,并且位于同一VNET中。
我以前遇到过这个问题,我能够通过在该VM上只有一个Docker来解决这个问题。然而,在这种情况下,两个图像都是轻量级的。

n53p2ov0

n53p2ov01#

最近在pg8000版本1.29.5中有一个错误修复,可能会修复您看到的问题。查看发行说明,相关的部分是:
修复了pg8000在从套接字接收的字节数少于请求的字节数时不处理的错误。这被解释为网络错误,但实际上我们只需要等待更多的字节可用。
commit itself可能是有帮助的。

相关问题