आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
यह सबसे सही तरीका है कि Edge पर Node.js कोड को डिप्लॉय करने से पहले, यह पक्का कर लें कि वह कोड काम कर रहा हो. इस विषय में, Node.js ऐप्लिकेशन को डिप्लॉय करने के बाद, प्रॉक्सी को डीबग करने और उनसे जुड़ी समस्याओं को हल करने के तरीके बताए गए हैं.
परफ़ॉर्मेंस को बेहतर बनाने के लिए, कनेक्शन पूल का साइज़ बढ़ाना
अगर आपको परफ़ॉर्मेंस धीमी लगती है, तो हो सकता है कि डिफ़ॉल्ट Node.js कनेक्शन पूल के साइज़ को maxSockets की मदद से बढ़ाकर समस्या हल की जा सके. इसके अलावा, सॉकेट पूलिंग की सुविधा बंद करके भी समस्या हल की जा सकती है. ज़्यादा जानकारी और उदाहरण कोड के लिए, Apigee कम्यूनिटी में Node.js परफ़ॉर्मेंस से जुड़ी सलाह: सॉकेट पूलिंग देखें.
Node.js के लॉग देखना
अपने Node.js ऐप्लिकेशन के लॉग की जानकारी देखने के लिए:
- मुख्य एपीआई प्रॉक्सी पेज पर, उस प्रॉक्सी पर क्लिक करें जिसे आपको देखना है.
- चुनी गई प्रॉक्सी के खास जानकारी वाले पेज पर, टूल बार की दाईं ओर मौजूद Node.js लॉग पर क्लिक करें.
लॉग पेज पर, देखने के लिए लॉग की समयावधि चुनी जा सकती है. इसे यहां दिखाया गया है. इन लॉग में, एचटीटीपी तरीके के कॉल, कॉल के पूरा होने या न होने की जानकारी, console.log मैसेज वगैरह रिकॉर्ड किए जाते हैं. खोज फ़ील्ड में कोई खोज स्ट्रिंग डालें. इससे आपको वे सभी लॉग एंट्री दिखेंगी जिनमें वह स्ट्रिंग शामिल है.

ट्रेस टूल का इस्तेमाल करना
ट्रेस टूल, सामान्य प्रॉक्सी डीबग करने के लिए काम का है. ट्रेस टूल का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, ट्रेस टूल का इस्तेमाल करना लेख पढ़ें.
कंसोल आउटपुट को प्रिंट करना
अपने Node.js कोड में console.log स्टेटमेंट एम्बेड किए जा सकते हैं. साथ ही, ट्रेस टूल में आउटपुट देखा जा सकता है. उदाहरण के लिए, यहां दिया गया स्टेटमेंट, वैरिएबल config.user की वैल्यू प्रिंट करता है:
console.log('Logging in as %s', config.username);

ट्रेस टूल में console.log मैसेज का आउटपुट देखने के लिए, ट्रेस टूल में अपने एपीआई को कॉल करें. इसके बाद, आउटपुट पैनल खोलने के लिए सभी लेन-देन का आउटपुट पर क्लिक करें:

मान लें कि आपने यह कोड लागू किया है...
var http = require('http'); console.log('node.js application starting...'); var svr = http.createServer(function(req, resp) { resp.end('Hello, World!'); }); svr.listen(9000, function() { console.log('Node HTTP server is listening'); });
... कंसोल स्टेटमेंट, पैनल में दिखते हैं:

Nginx के टारगेट टाइमआउट की सेटिंग कॉन्फ़िगर करना
अगर प्रॉक्सी के तौर पर Nginx का इस्तेमाल किया जा रहा है और आपको "बैड गेटवे" गड़बड़ियां दिख रही हैं, तो Nginx प्रॉक्सी के टाइमआउट कॉन्फ़िगरेशन को बढ़ाएं. इसके बारे में यहां बताया गया है:
उदाहरण के लिए:
proxy_connect_timeout 60; proxy_read_timeout 120;
सर्वर को जवाब देने में कितना समय लगता है, इसके आधार पर टाइमआउट के सही कॉन्फ़िगरेशन तय किए जा सकते हैं. उदाहरण के लिए, 45 से 60 सेकंड का रीड टाइमआउट, एक सही बफ़र देने के लिए सबसे सही हो सकता है.
Apigee के टारगेट के लिए टाइम आउट की सेटिंग कॉन्फ़िगर करना
TargetEndpoint में HttpTargetConnection एलिमेंट में, Apigee की डिफ़ॉल्ट टाइमआउट वैल्यू भी कॉन्फ़िगर की जा सकती हैं. डिफ़ॉल्ट वैल्यू ये हैं:
connect.timeout.millis - 60 seconds io.timeout.millis - 120 seconds
<HTTPTargetConnection> <Properties> <Property name="connect.timeout.millis">5000</Property> <Property name="io.timeout.millis">5000</Property> </Properties> <URL>http://www.google.com</URL> </HTTPTargetConnection>
एंडपॉइंट प्रॉपर्टी का रेफ़रंस भी देखें.
अधिक जानकारी के लिए
डीबग करने के बारे में ज़्यादा जानने के लिए, यह लेख पढ़ें:
- ट्रेस टूल का इस्तेमाल करना
- परफ़ॉर्मेंस मेट्रिक का इस्तेमाल करना
- समस्या हल करने के बारे में जानकारी
- ऑडिट: एपीआई, प्रॉडक्ट, और संगठन का इतिहास
अगले चरण
Apigee Edge में Node.js मॉड्यूल के साथ काम करने की सुविधा के बारे में जानकारी पाने के लिए, Node.js मॉड्यूल के साथ Edge के काम करने की सुविधा के बारे में जानकारी लेख पढ़ें. इसमें एचटीटीपी/एचटीटीपीएस, टीएलएस, और अन्य ऐडवांस विषयों के बारे में जानकारी शामिल है.