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