Nodejs процесс не отвечает через некоторое время - PullRequest
2 голосов
/ 28 апреля 2020

Я тестирую node-webrt c проект на 16-ядерном процессоре и 32 ГБ оперативной памяти. Я начал процесс с pm2, и через некоторое время процесс узла перестал отвечать. URL-адрес не доступен, потоковое видео остановлено.

Что я заметил:

1) Каждый раз, когда он останавливался при потреблении памяти 3,5 ГБ, ЦП 900%, но я пытался увеличить старый объем памяти до 24 ГБ, после чего случайным образом отказывал после достижения 9 ГБ Память и 1100 процессоров.

2) В журналах pm2 я обнаружил

"(узел: 3397) MaxListenersExceededWarning: обнаружена возможная утечка памяти EventEmitter. Добавлено 11 новых слушателей Broadcast. Используйте emitter.setMaxListeners () увеличить лимит », но процесс продолжает работать после этого предупреждения.

A) не уверен, что это проблема утечки памяти?

B) потребление процессора (900% из 1600%), поскольку я знаю, что узел является однопоточным процессом, так есть ли вероятность того, что поток, назначенный процессу основного узла, достиг своей пиковой точки?

Пожалуйста, любые предложения, как я могу его отладить ..

одновременных пользователей, что время около 110-120

1 Ответ

1 голос
/ 02 мая 2020

Проблема была с исходящей пропускной способностью сервера. Сервер имеет максимальную скорость восходящей линии связи 128 МБ / с (~ 1 Гбит / с) и поток, потребляющий максимальную разрешенную пропускную способность, и после этого соединение с сервером становится недоступным ... Это исправлено путем переключения нашего сервера на пропускную способность 500 МБ / с.

...