मैं boto
पायथन लाइब्रेरी के लिए बैक-एंड के रूप में pycurl का उपयोग कर रहा हूं। यह बहुत तेज़ और बहुमुखी है लेकिन मुझे समस्या है कि बड़े फाइलों के अपलोड अक्सर कनेक्शन रीसेट पर असफल हो जाते हैं। जब मैं सादे सादा httplib
के साथ सादाका उपयोग करता हूं, तो यह अधिक विश्वसनीय है।S3 pycurl interrupts के साथ अपलोड करें
मुझे वायरसहार्क का उपयोग करके जो मिला वह यह है कि थोड़ी देर बाद (या कभी-कभी जल्द ही), मेरी मशीन एस 3 से एसीके प्राप्त करना बंद कर देती है, इसलिए यह कनेक्शन को रीसेट करता है। यह लगभग लगता है कि pycurl
इतना तेज है कि यह कनेक्शन को चुटकुले करता है। और यदि मैं अपलोड को थ्रॉटल करता हूं (मैं बहु इंटरफ़ेस का उपयोग करता हूं) या धीमे इंटरनेट कनेक्शन का उपयोग करता हूं, तो अपलोड ठीक चलता है।
मैं अभी भी सोच रहा हूं कि मैंने संभवतः गलत क्या किया है।
मैंने .NET S3 SDK के साथ अपलोड करने का भी प्रयास किया। यह लगभग 3 गुना धीमा है, लेकिन सफल होता है। साथ ही, यह विंडोज 7 पर भी है, उसी नेटवर्क पर ओएस एक्स मशीन फिर से बहुत धीमी, लेकिन भरोसेमंद अपलोड करता है।
विंडोज़ में एनआईसी ड्राइवर की तरह लगता है। मैंने इस व्यवहार को अन्य अनुप्रयोगों में भी देखा है। अचूक साक्ष्य कहते हैं कि ड्राइवर में विभिन्न टीसीपी ऑफ़लोडिंग विकल्पों को बंद करने में मदद मिल सकती है। – nikola