Отладка и устранение неполадок прокси-серверов 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;

В зависимости от того, сколько времени требуется серверу для ответа, можно определить оптимальные настройки времени ожидания. Например, для создания разумного буфера может подойти время ожидания чтения в 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.