Приблизительно 10% запросов POST или PUT, которые я делаю на HTTPS-сервер Node.js, занимает 2 минуты, чтобы получить ответ.Остальные 90% ведут себя так, как и ожидалось.
Я проверил с помощью tshark, что тело запроса получено сервером, но затем для запуска событий data и end требуется 2 минуты.Объект ServerRequest.
Запросы, которые испытывают эту задержку, кажутся случайными, но когда это происходит, время задержки между получением пакета и инициируемыми событиями «data» и «end» всегда точно2 минуты.
Для всех этих запросов я публикую небольшой объект json, который приходит в одном пакете.Для запросов с задержкой я знаю, что заголовки получены моим приложением, потому что cookie сессии анализируется немедленно.После аутентификации сеанса ничего не происходит до тех пор, пока события 'data' и 'end' не будут окончательно отправлены через 2 минуты, после чего тело будет проанализировано и сохранено в моей базе данных.
Вероятнее ли это проблема?с моим Node-приложением или проблема с моим сервером, который представляет собой небольшой экземпляр EC2 под управлением Amazon Linux?Как получается, что от момента получения пакета с телом запроса до моего пакета в качестве чанка уходит 2 минуты?
Спасибо.
Обновление: я изменил parser.onBodyв lib / http.js, чтобы войти 'b', и я вижу, что этот метод не вызывается до конца двухминутной задержки.Кажется, это указывает на то, что проблема находится на более низком уровне, чем мое приложение.Я также изменил экземпляры ec2, но это не помогло.