تصحيح الأخطاء في خوادم Node.js الوكيلة وإصلاحها

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

ومن الممارسات الجيدة التأكّد من أنّ رمز Node.js الذي تضيفه إلى الخادم الوكيل يعمل قبل نشره على Edge. يتناول هذا الموضوع طرق تصحيح أخطاء الخوادم الوكيلة وتحديد مشاكلها وحلّها، بما في ذلك تطبيقات Node.js بعد نشرها.

زيادة حجم مجموعة اتصالات قاعدة البيانات لتحسين الأداء

إذا لاحظت بطئًا في الأداء، يمكنك حل المشكلة من خلال زيادة الحجم التلقائي لمجموعة اتصالات Node.js باستخدام maxSockets، أو عن طريق إيقاف تجميع المقابس تمامًا. لمزيد من المعلومات والأمثلة على الرموز البرمجية، يُرجى الاطّلاع على Node.js نصائح حول الأداء: تجميع Sockets في منتدى Apigee.

عرض سجلات Node.js

للاطّلاع على معلومات السجلّات عن تطبيق Node.js:

  1. في صفحة أدوات الربط الرئيسية لواجهات برمجة التطبيقات، انقر على أداة الربط التي تريد عرضها.
  2. في صفحة الملخّص للوكيل المحدّد، انقر على سجلّات Node.js على الجانب الأيمن من شريط الأدوات.

في صفحة "السجلّات"، يمكنك اختيار نطاق زمني للسجلّات المطلوب عرضها، كما هو موضّح أدناه. تسجِّل السجلات عمليات استدعاء طريقة HTTP ونجاحها أو تعذّرها ورسائل console.log وما إلى ذلك. أدخِل سلسلة بحث في حقل البحث لعرض جميع إدخالات السجلّ التي تحتوي على السلسلة.

استخدام أداة التتبّع

تكون أداة التتبُّع مفيدة لتصحيح الأخطاء العامة في الخادم الوكيل. للحصول على معلومات تفصيلية عن استخدام أداة التتبُّع، يُرجى الاطّلاع على استخدام أداة التتبُّع.

ناتج وحدة التحكم في الطباعة

يمكنك تضمين عبارات console.log في رمز Node.js وعرض الناتج في أداة التتبع. على سبيل المثال، تطبع العبارة التالية قيمة المتغير 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

يمكنك أيضًا ضبط قيم مهلة 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.