2011-09-05 9 views
7

मेरी वेबसाइट, CompassionPit.com, Node.js. द्वारा संचालित है। मैंने सोर्स कोड जारी किया है; यह hosted at GitHub है। ऐप स्वयं एक लिनोड पर 768 एमबी रैम के साथ चल रहा है (मैंने हाल ही में सर्वर को अपग्रेड किया है, यह 512 एमबी पर था)।मैं अपने नोड ऐप को कैसे देख सकता हूं यह देखने के लिए कि मैं मेमोरी और सीपीयू संसाधनों का उपयोग कहां कर रहा हूं?

हाल ही में मैं linode से CPU उपयोग सूचनाएं प्राप्त करना किया गया है: हम तेजी से अक्सर 90% + उपयोग पर कर रहे हैं। मैंने लिनोड को यह देखने के लिए बुलाया कि मैं सीपीयू संसाधनों में अपनी पहुंच को अपग्रेड करने के बारे में क्या कर सकता हूं, लेकिन स्पष्ट रूप से मैं अभी ठीक हूं, क्योंकि अगर हम 100% तक अधिकतम हैं तो हम अगले 3 कोर में फैल सकते हैं (लिनोड 4 प्रोसेसर ज़ेन हैं उदाहरण)।

मैं कैसे कर सकते हैं प्रोफ़ाइल मेरी नोड एप्लिकेशन देखने के लिए जहां मैं स्मृति और CPU संसाधनों का उपयोग कर रहा हूँ? मैं भविष्यवाणी करता हूं कि मुझे जल्द ही एक सर्वर सर्वर सेटअप द्वारा चलाने के लिए एप्लिकेशन को पुन: स्थापित करने की आवश्यकता होगी, लेकिन मुझे सहजता से विश्वास है कि उचित प्रोफाइलिंग से बेहतर आर्किटेक्चर निर्णय ले सकते हैं। कृपया मुझे सुधारें अगर मैं गलत हूं।

+0

CompassionPit.com चला गया प्रतीत होता है को रोकने के लिए। और v8-प्रोफाइलर (Glenjamin): – jcollum

उत्तर

0

मैं उचित सफलता रूपरेखा के लिए https://github.com/dannycoates/node-inspector का उपयोग कर लिया है। README फ़ाइल के नीचे एक सेटअप मार्गदर्शिका है।

Node.js, नोड निरीक्षक नहीं रह कार्यों की रूपरेखा भाग के बाद के संस्करणों के रूप में। नीचे के रूप में इस सवाल का जवाब में बताया गया मैं --prof (http://code.google.com/p/v8/wiki/V8Profiler) और https://github.com/c4milo/node-webkit-agent साथ उचित सफलता मिली है।

+0

मैं Freenode पर # Node.js चैनल से कि झंकार करना चाहते हैं, लोगों को भी dtrace (H4ns क्रेडिट) का सुझाव दिया है। –

3

नोड निरीक्षक नहीं प्रोफ़ाइल नोड संस्करण 0.6.x

के बाद निम्न प्लग इन v8 के नए संस्करण (नोड 0.7.x +) के साथ काम करने के लिए अद्यतन किया गया है सकते हैं। यह nodetime.com के अलावा एकमात्र ऐसा है जो अभी भी काम कर रहा है।

https://github.com/c4milo/node-webkit-agent

यह बहुत स्पष्ट निर्देश भी है: यह वास्तविक वेबकिट डिबगर उपयोग करता है।

+0

यह अब और सत्य नहीं है। इस दौरान नोड निरीक्षक को अद्यतन किया गया है। – Leo

+0

@LeoKoppelkamm आप कहां देख रहे हैं कि नोड इंस्पेक्टर प्रोफाइलिंग का समर्थन करता है? [README अभी भी बताता है] (https://github.com/node-inspector/node-inspector#known-issues) "प्रोफाइलर अभी तक लागू नहीं किया गया है"। – John

+0

मैं 0.6.x टिप्पणी का जिक्र कर रहा था। नोड इंस्पेक्टर थोड़ी देर के लिए पूरी तरह से टूट गया था, लेकिन यह औसत समय में तय किया गया है। मैं इसे साफ़ करने के लिए जवाब संपादित कर रहा हूँ। – Leo

1

v6.3.0, you can now runnode --inspect your_script.js के रूप में।

नोड कंसोल पर एक यूआरएल प्रिंट करेगा, जिसे क्रोम में खोला जा सकता है, जो आपको एक पूर्ण-कार्यात्मक वेब इंस्पेक्टर को प्रकट करने के लिए कनेक्ट करेगा जिसे आप नोड प्रक्रिया को प्रोफाइल करने के लिए उपयोग कर सकते हैं।

भागो node --inspect --debug-brk तुरंत कई साल बाद इस पद के लिए आ रहा किसी के लिए भी, निष्पादन (जो काम है यदि आप के रूप में जल्द ही एक रूपरेखा सत्र शुरू करने के रूप में अपने आवेदन शुरू होता है की जरूरत है)

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

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