Tôi đang sử dụng pycurl làm giao diện người dùng cho thư viện Python boto
. Nó rất nhanh và linh hoạt nhưng tôi có vấn đề rằng việc tải lên các tệp lớn thường rất thất bại khi thiết lập lại kết nối. Khi tôi sử dụng đồng bằng boto
với đồng bằng httplib
, nó đáng tin cậy hơn nhiều.S3 Tải lên với các ngắt pycurl
Những gì tôi tìm thấy bằng Wireshark là sau một thời gian (hoặc đôi khi khá sớm), máy của tôi ngừng nhận ACK từ S3, vì vậy nó sẽ đặt lại kết nối. Dường như có vẻ như pycurl
quá nhanh khiến nó bị ngắt kết nối. Và nếu tôi tăng tốc độ tải lên (tôi sử dụng giao diện đa) hoặc sử dụng kết nối internet chậm hơn, quá trình tải lên sẽ chạy tốt.
Tôi vẫn tự hỏi mình có thể làm gì sai.
Tôi cũng đã cố tải lên bằng .NET S3 SDK. Đó là khoảng 3 lần chậm hơn, nhưng thành công. Ngoài ra, đó là tất cả trên Windows 7, OS X máy trên cùng một mạng một lần nữa tải lên chậm hơn rất nhiều, nhưng đáng tin cậy.
Âm thanh như trình điều khiển NIC trong Windows bị nghẹt thở. Tôi đã nhìn thấy hành vi này trong các ứng dụng khác. Bằng chứng giai thoại nói rằng việc tắt các tùy chọn tải xuống TCP khác nhau trong trình điều khiển có thể hữu ích. – nikola