我正在通过REST API将数亿个项目从Heroku上的云服务器上传到AWS EC2上的数据库。我正在使用Python,并且我经常在日志中看到以下信息日志消息。
[requests.packages.urllib3.connectionpool] [INFO] Resetting dropped connection: <hostname>
这种“重置断开的连接”似乎需要很多秒(有时30秒以上),我的代码才能继续执行。
- 首先这里到底发生了什么?为什么?
- 其次,有没有办法阻止连接断开,以便我能够更快地上传数据?
谢谢你的帮助。
安德鲁。
Tags:
这是公开restfulapi以避免滥用(或DoS)的服务的常见做法。
如果你给他们的API施加压力,他们会断开你的连接。
试着让你的脚本每隔一段时间就睡一会儿,以避免掉下来。
问题是服务器已经关闭了连接,即使客户端请求保持连接的活动性。
这不一定是因为服务器不支持keepalives,但可能是服务器配置为只允许连接上的特定数量的请求。这可以帮助将请求分散到不同的服务器上,但我认为这种做法是/曾经是一种常见的做法,它是针对在服务器(例如PHP)中运行的编写不好的代码(可能是由于错误条件等)的一种实际防御措施
如果您认为这是您的情况,并且您不希望看到这些日志(在信息级别记录),则可以添加以下内容来停止该部分日志:
请求使用^{} by default 。
Resetting dropped connection
,根据我的理解,这意味着一个应该存在的连接以某种方式断开了。可能的原因有:Keep-Alive
。有关详细信息,请参见https://stackoverflow.com/a/25239947/2142577。
相关问题 更多 >
编程相关推荐