alexanderkx
@alexanderkx

Почему после переезда на другой сервер nodejs иногда при запросах выдаёт ETIMEDOUT?

Приложение долгое время работало на Ubuntu 16.04.6 LTS. Nodejs версии 14.17.4
Кол-во ядер - 1, ОЗУ - 1 Гб

на днях переехали. Debian 11, стало 2 ядра по 2000 ГЦ, ОЗУ - 4 Гб, версия ноды таже что и была 14.17.4

Теперь стал замечать, что при запросах к сторонним сервисам (API), (request или request-promise) выдаёт ошибку:
{"name":"RequestError","message":"Error: connect ETIMEDOUT <ip стороннего сервиса>...

Такой ответ не постоянный, иногда ответ приходит правильный, какой и требуется.

В момент такой ошибки попробовал сделать трассировку к ip стороннего API (для примера 5.4.3.2), итог такой:

traceroute to 5.4.3.2 (5.4.3.2), 30 hops max, 60 byte packets
 1  serrv2422vps (80.187.14.36)  0.059 ms  0.034 ms  0.038 ms
 2  * * *
 3  * * *
 4  * * *


Не подскажите в какую сторону стоит глянуть и с чем подобное вязано? Само собой со стороны стороннего сервиса уверяют, что проблема не у них. Да и сам факт переезда на другой сервер это вроде подтверждает, так как проблемы после этого переезда и начались.

Нагуглилось что-то с UV_THREADPOOL_SIZE, но пока не уверен как и где этот параметр лучше менять и стоит ли.
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Таймаут при вызове connect. Это, в принципе, нормально и вполне вероятно в любых сетевых приложениях. Это может говорить о недоступности удаленной стороны или плохом качестве связи.
Обычной реакцией на подобную ошибку может быть повтор операции или завершение приложения с ошибкой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы