В последние дни я борюсь за этот конкретный случай в моем приложении.
В течение дня приложение извлекает данные из другой базы данных (около 400 тыс. Записей) и обрабатывает их. После обработки приложение сопоставляет элементы с коллекциями в базе данных этого приложения и сохраняет их.
Все идет хорошо до конца функции. В настоящее время я вызываю его через запрос http, но это будет работа CRON. Таким образом, после попадания в конечную точку .res () ЦП не замедляет работу и не освобождает кучу памяти. Мне просто интересно, что могло бы произойти.
Я прочитал немного об идентификации утечек памяти и обнаружил это. [2] - это процессор, который использовался для обработки данных.
x[ 1] App Mem: 68 MB CPU: 1 % online xx x
x[ 2] App Mem: 182 MB CPU: 135 % online xx x
x[ 3] App Mem: 60 MB CPU: 0 % online xx x
x[ 4] App Mem: 60 MB CPU: 0 % online xx x
x[ 5] App Mem: 59 MB CPU: 0 % online
Как вы можете ясно видеть, память и процессор намного выше, чем на других экземплярах узла. Я думал, что .res () убьет задачу, освободит память и замедлит процессор, но это не так.
Я использую Expressjs, выполнил шаблон MVC и сохранил все логи c в классе компонентов. Есть ли способ освободить эту память, поскольку я пытался применить какую-то функцию очистки, но она не работала :(. У меня закончились идеи о том, как определить возможную проблему. Может быть, есть это что-то очевидное, на что я не обращаю внимания, но, честно говоря, у меня нет такого большого опыта в ноде, чтобы это выяснить.