boto
Python ライブラリのバックエンドとして pycurl を使用しています。非常に高速で用途が広いですが、接続のリセット時に大きなファイルのアップロードが頻繁に失敗するという問題があります。boto
plainと plainを併用するhttplib
と、はるかに信頼性が高くなります。
Wireshark を使用して分かったのは、しばらくすると (または場合によってはすぐに)、マシンが S3 からの ACK の受信を停止するため、接続がリセットされることです。pycurl
通信速度が速すぎて接続が途切れてしまうようです。また、アップロードを調整したり (マルチ インターフェイスを使用)、低速のインターネット接続を使用したりしても、アップロードは問題なく実行されます。
私はまだ何が間違っていたのだろうかと思っています。
また、.NET S3 SDK でアップロードしようとしました。約 3 倍遅くなりますが、成功します。また、それはすべて Windows 7 上にあり、同じネットワーク上の OS X マシンのアップロードは非常に遅くなりますが、確実に行われます。