【发布时间】:2013-01-19 21:15:14
【问题描述】:
我使用 pycurl 作为boto Python 库的后端。它非常快速且用途广泛,但我遇到的问题是大文件的上传经常在连接重置时失败。当我使用普通的boto 和普通的httplib 时,它更可靠。
我在使用 Wireshark 时发现,一段时间后(或者有时也很快),我的机器停止接收来自 S3 的 ACK,因此它重置了连接。似乎pycurl 太快了,以至于它阻塞了连接。如果我限制上传(我使用多界面)或使用较慢的互联网连接,上传运行良好。
我仍然想知道我可能做错了什么。
我还尝试使用 .NET S3 SDK 进行上传。它慢了大约 3 倍,但成功了。此外,这一切都在 Windows 7 上,同一网络上的 OS X 机器再次上传速度慢很多,但可靠。
【问题讨论】:
-
听起来 Windows 中的 NIC 驱动程序令人窒息。我在其他应用程序中也看到了这种行为。轶事证据表明,关闭驱动程序中的各种 TCP 卸载选项可能会有所帮助。
标签: python curl tcp upload amazon-s3