वहाँ कोड है,नोड.जेएस एसिंक समानांतर - क्या परिणाम हैं?
async.series(tasks, function (err) {
return callback ({message: 'tasks execution error', error: err});
});
जहां, tasks
, इसके बारे में प्रत्येक HTTP अनुरोध (request
मॉड्यूल का उपयोग करके) और डेटा (MongoHQ उदाहरण के लिए) स्टोर करने के लिए MongoDB एपीआई बुला peforms कार्यों की सरणी है।
, (~ 200 कार्य निष्पादित करने के लिए), यह
[normal mode] collection cycle: 1356.843 sec. (22.61405 mins.)
लेता है लेकिन बस series
से parallel
करने के लिए परिवर्तन की कोशिश कर रहा है, यह शानदार लाभ देता है। कार्यों में से लगभग एक ही राशि ~30 secs
बजाय ~23 mins
में चलाते हैं।
लेकिन, यह जानकर कुछ भी नहीं मुक्त करने के लिए है कि, मैं क्या है कि परिवर्तन के परिणामों को समझने की कोशिश कर रहा हूँ? क्या मैं बता सकता हूं कि खुले सॉकेट की संख्या बहुत अधिक होगी, अधिक स्मृति खपत, डीबी सर्वर पर अधिक हिट होगी?
मशीन है कि मैं कोड चलाने रैम Ubuntu के केवल 1GB है, इसलिए मैं इतना है कि एप्लिकेशन वहाँ एक बार लटका हुआ है, यह संसाधनों की कमी की वजह से हो सकता है?
आपको शायद बेहतर प्रदर्शन के लिए 'async.parallelLimit (सरणी, सीमा, सीबी)' का उपयोग करना चाहिए और उपयोग करना चाहिए। समानांतर निष्पादन की एक सीमा पाएं जो निष्पादन को ओवरफ़्लो नहीं करती है, और यह async.parallel से तेज होगी: पी बोनस के रूप में, यह अब और नहीं लटका होगा :) – randunel