आपको लगता है कि निर्भरता का निर्माण किया है किसी भी मॉड्यूल लोड हो रहा है कर रहे हैं?
मूल रूप से "अज्ञात" द्वारा इसका अर्थ है "के लिए अनगिनत" (अधिक स्पष्टीकरण के लिए tickprocessor.js
देखें)। उदाहरण के लिए, जीसी "scavenge, start, ..." जैसे संदेशों को प्रिंट करेगा लेकिन यह logreader.js
द्वारा अपरिचित है।
यह है कि आपके v8.log
फ़ाइल को पार्स करने का उपयोग कर पुस्तकालय की रूपरेखा पता करने के लिए मदद मिलेगी।
अद्यतन
node-tick
पैकेज एक वर्ष से अधिक अद्यतन नहीं किया गया है और शायद हाल prof
आदेशों का एक बहुत याद आ रही है। इसके बजाय node-profiler का उपयोग करने का प्रयास करें। यह नोड के रखरखाव में से एक द्वारा बनाया गया है। और यदि आप पूर्ण सर्वोत्तम परिणाम चाहते हैं तो आपको node-gyp
का उपयोग करके इसे बनाना होगा।
अद्यतन
मैं node-profiler (master
, नहीं नवीनतम टैग के बारे में नवीनतम) से नवीनतम का उपयोग कर v8.log
उत्पादन पार्स और http://pastebin.com/pdHDPjzE
पर परिणाम तैनात मुझे एक का कहना है की अनुमति दें गए कुछ प्रमुख प्रविष्टियों के बारे में जो आधे रास्ते नीचे दिखाई देते हैं:
[GC]:
ticks total nonlib name
2063 26.2%
[Bottom up (heavy) profile]
6578 83.4% c:\node\node.exe
1812 27.5% LazyCompile: ~parse native json.js:55
1811 99.9% Function: ~<anonymous> C:\workspace\repositories\asyncnode_MySQL\lib\MySQL_DB.js:41
736 11.2% Function: ~Buffer.toString buffer.js:392
तो सभी स्क्रिप्ट प्रकार के 26.2% कचरा col में खर्च किया गया था रूपांतर। जो यह होना चाहिए उससे कहीं अधिक है। हालांकि यह Buffer.toString
पर कितना समय व्यतीत होता है, इस पर अच्छी तरह से संबंधित है। यह है कि कई बफ़र तो बनाए जा रहे हैं, तो तार में बदल जाती है, दोनों gc'd है जब वे गुंजाइश छोड़ आवश्यकता होगी।
मैं भी उत्सुक हूं कि LazyCompile
में json.js
के लिए इतना समय क्यों खर्च किया जाता है। या तो, json.js
क्यों नोड आवेदन में आवश्यक हो सकता है?
आप प्रदर्शन धुन आपके आवेदन मैं क्या कर और देखने के लिए पर कि देना अच्छा नीचे दिए गए निर्देशों कुछ लिंक शामिल कर रहा हूँ मदद करने के लिए।
मूल बातें के साथ अच्छा स्लाइड डेक:
https://mkw.st/p/gdd11-berlin-v8-performance-tuning-tricks/#1
अधिक अनुकूलन तकनीकों का उन्नत उदाहरण:
http://floitsch.blogspot.com/2012/03/optimizing-for-v8-introduction.html
बंद का बेहतर उपयोग:
http://mrale.ph/blog/2012/09/23/grokking-v8-closures-for-fun.html
अब जहाँ तक तुम क्यों एक ही आउटपुट प्राप्त नहीं कर सका।यदि आपने node-profiler बनाया और उपयोग किया है और nprof
master
से प्रदान किया गया है और यह अभी भी काम नहीं करता है तो मुझे लगता है कि विंडोज़ पर होने के साथ इसका कुछ संबंध है। गिटहब पर एक बग दर्ज करने के बारे में सोचें और देखें कि क्या वह आपकी मदद करेगा।
मैं एनपीएम 'टिक' पैकेज का उपयोग कर रहा हूं – coen
मैंने https://github.com/bnoordhuis/node-profiler का उपयोग करने का प्रयास किया है, लेकिन परिणाम वही बना हुआ है। – coen
@coen क्या आप पेस्टबिन या अपनी v8.log फ़ाइल को कुछ कर सकते हैं। यह आपकी मदद करने के लिए यह सबसे आसान तरीका होगा। –