我通常的响应时间<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来解决这个问题。然而,在这种情况下,两个图像都是轻量级的。
1条答案
按热度按时间n53p2ov01#
最近在pg8000版本1.29.5中有一个错误修复,可能会修复您看到的问题。查看发行说明,相关的部分是:
修复了pg8000在从套接字接收的字节数少于请求的字节数时不处理的错误。这被解释为网络错误,但实际上我们只需要等待更多的字节可用。
而commit itself可能是有帮助的。