Отладка и устранение неполадок прокси-серверов Node.js

Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X.
info

Рекомендуется убедиться, что любой код 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 в качестве прокси-сервера и видите ошибки «Bad Gateway», попробуйте увеличить время ожидания прокси-сервера 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 и другие дополнительные темы, см. в разделе Общие сведения о поддержке модулей Node.js в Edge .