2012-11-14 9 views
5

के साथ अमेज़ॅन एस 3 उच्च CPU उपयोग हम 500K डेटा तक स्टोर करने के लिए अमेज़ॅन एस 3 का उपयोग कर रहे हैं। हमारे पास ईसी 2 इंस्टेंस पर एक .NET 4.0 वेब सेवा स्थापित है, जो 500K डेटा के साथ PutObject कॉल बनाता है।100 PutObject कॉल (.NET)

समस्या यह है कि जब हम क्रमशः एस 3 के लिए इस सेवा में 100 से अधिक एक साथ कॉल (अद्वितीय एस 3 कुंजी के साथ) करते हैं, और ईसी 2 इंस्टेंस सीपीयू 100% मार रहा है। हमने वेब सेवा पर कुछ प्रोफाइलिंग की है और इससे पता चलता है कि 99% प्रसंस्करण समय AmazonS3Client.PutObject विधि द्वारा लिया जाता है।

हमने HTTP (डिफ़ॉल्ट HTTPS के बजाय) का उपयोग करने के लिए S3 क्लाइंट को कॉन्फ़िगर करने का प्रयास किया है, और एस 3 कुंजी निर्माण योजना के साथ थोड़ा भी खेला है, लेकिन कुछ भी मदद नहीं की है। यह आलेख Amazon S3 PutObject is very slow या तो मदद नहीं करता था।

हमारे S3 कुंजी स्कीमा है: "111_ [incrementing आईडी] .txt"

अगर हम एक छोटी डेटा का उपयोग यह व्यापक CPU उपयोग नहीं होता है - 1K की तुलना में कम है।

क्या आप हमें कुछ मार्गदर्शन दे सकते हैं सीपीयू प्रदर्शन को बेहतर बनाने के लिए क्या किया जा सकता है या कहां देखना है?

और यहाँ है कि कॉल के लिए स्रोत कोड है:

string fileName = "111_" + Id + ".txt"; 
using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(RegionEndpoint.XXXX)) 
     { 
      try 
      { 
PutObjectRequest request = new PutObjectRequest(); 
request.WithContentBody(dataRequest.Base64Data) 
       .WithBucketName(bucketName) 
       .WithKey(fileName); 

S3Response response = client.PutObject(request); 
response.Dispose(); 
      } 
      catch (AmazonS3Exception amazonS3Exception) 
      { 
       //Handle exceptiom... 
      } 
     } 

धन्यवाद!

+0

आपको [इस प्रश्न] के उत्तर मिल सकते हैं (https://forums.aws.amazon.com/thread.jspa?messageID=400164&tstart=0) सहायक। –

+0

मेरे पास कोई नेट अनुभव नहीं है लेकिन इस लेख को पढ़ना http://improve.dk/archive/2011/11/07/pushing-the-limits-of-amazon-s3-upload-performance.aspx मेरे पास एक झटका है कि बेस 64 कॉल सीपीयू लोड का कारण बन सकता है। क्या आप 500 किलोबाइट स्ट्रिंग के साथ प्रयास कर सकते हैं जो फ्लाई पर उत्पन्न नहीं होता है? – tix3

+0

यदि आप एसडीके का उपयोग कर रहे हैं तो यह पता लगाने के लिए स्रोत पर एक नज़र डालें कि मल्टीपार्ट अपलोड कैसे किया जा रहा है। यह लगभग प्रदर्शन के मुद्दों के कारण चंक आकार के मामले की तरह लगता है। ऑब्जेक्ट नामकरण के बारे में एक और नोट जो पूरी तरह से इस प्रश्न से संबंधित नहीं हो सकता है लेकिन इसका पालन करने में उपयोगी है: http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle- भर्ती-event.html – Keshi

उत्तर

संबंधित मुद्दे