اشکال‌زدایی و عیب‌یابی کارگزاران Node.js

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

بهتر است قبل‌از استقرار دادن هر کد Node.js که به پراکسی اضافه می‌کنید در Edge، مطمئن شوید که کار می‌کند. این موضوع درباره روش‌های اشکال‌زدایی و عیب‌یابی کارگزاران وکیل شامل برنامه‌های Node.js پس‌از استقرار آن‌ها بحث می‌کند.

درحال افزایش اندازه استخر اتصال برای بهبود عملکرد

اگر متوجه عملکرد کند شدید، ممکن است بتوانید با افزایش اندازه پیش‌فرض استخر اتصال Node.js با maxSockets، یا با غیرفعال کردن استخر اتصال سوکت به‌طور کامل، مشکل را حل کنید. برای اطلاعات بیشتر و نمونه کد، نکات عملکرد Node.js: استخر سوکت را در «انجمن Apigee» ببینید.

مشاهده گزارش‌های Node.js

برای مشاهده اطلاعات گزارش درباره برنامه Node.js:

  1. در صفحه اصلی پراکسی‌های API، روی پراکسی موردنظر برای مشاهده کلیک کنید.
  2. در صفحه خلاصه کارگزار انتخاب‌شده، در سمت چپ نوار ابزار، روی گزارش‌های Node.js کلیک کنید.

در صفحه «گزارمان‌ها»، می‌توانید محدوده زمانی گزارش‌های موردنظرتان را برای مشاهده انتخاب کنید، همان‌طور که در زیر نشان داده شده است. گزارش‌ها تماس‌های روش HTTP، موفقیت یا عدم موفقیت تماس‌ها، پیام‌های console.log، و غیره را ضبط می‌کنند. رشته جستجویی را در فیلد جستجو وارد کنید تا همه ورودی‌های گزارش حاوی رشته نمایش داده شود.

استفاده از ابزار ردیابی

ابزار ردیابی برای اشکال‌زدایی پراکسی عمومی مفید است. برای اطلاعات دقیق درباره استفاده از ابزار ردیابی، به استفاده از ابزار ردیابی مراجعه کنید.

درحال چاپ برونداد کنسول

می‌توانید گزاره‌های console.log را در کد Node.js جاسازی کنید و برونداد را در ابزار ردیابی مشاهده کنید. برای مثال، عبارت زیر مقدار متغیر config.user را چاپ می‌کند:

console.log('Logging in as %s', config.username);

برای مشاهده برونداد پیام‌های console.log در ابزار ردیابی، API خود را در «ابزار ردیابی» فراخوانی کنید و روی برونداد از همه تراکنش‌ها کلیک کنید تا پانل برونداد باز شود:

فرض کنیم کد زیر را اجرا کرده‌اید…

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;

بسته به اینکه سرور چقدر طول می‌کشد تا پاسخ دهد، می‌توانید پیکربندی‌های زمان ایده آل خود را تعیین کنید. برای مثال، مهلت خواندن ۴۵ تا ۶۰ ثانیه ممکن است برای ارائه یک بافر معقول ایده‌آل باشد.

پیکربندی تنظیمات زمان انتظار هدف Apigee

همچنین می‌توانید مقادیر زمان اتمام پیش‌فرض Apigee را در عنصر HttpTargetConnection در TargetEndpoint پیکربندی کنید. مقادیر پیش‌فرض عبارت‌اند از:

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>

همچنین مرجع ویژگی‌های نقطه پایانی را ببینید.

برای کسب اطلاعات بیشتر

برای کسب اطلاعات بیشتر درباره اشکال‌زدایی، به این صفحه مراجعه کنید:

مراحل بعدی

برای کسب اطلاعات درباره پشتیبانی واحد Node.js در Apigee Edge، ازجمله اطلاعات مربوط به پشتیبانی از HTTP/HTTPS،‏ TLS، و دیگر موضوعات پیشرفته، به درک پشتیبانی Edge از واحدهای Node.js مراجعه کنید.