2014-12-01 2 views
1

Я запускаю несколько приложений Node в одном экземпляре. Одним из элементов, о которых я беспокоюсь, является использование памяти. Существует ли минимальная физическая память, требуемая простым экспресс-службой Node.js? Есть ли способ установить верхнюю границу использования памяти, чтобы одно из моих приложений-узлов не влияло на использование физической памяти другими пользователями?Node.js - понимание и ограничение использования памяти

+0

Мой исторический минимум для самого узла (с запущенным приложением) составляет около 10 МБ/экземпляр. даже на 32-ядерном ящике, это всего 320 мБ бара, если вы не разворачиваете более одного процессора. – dandavis

+0

Неплохая ли идея развернуть более одного процессора? Я планировал это. – AnDev123

+0

Основным преимуществом для запуска более одного экземпляра является запуск каждого однопоточного ядра JS на его собственном процессоре. есть потенциально другие незначительные управленческие преимущества для сегментации, но выше 1: 1 производительность действительно падает, поскольку среднее управление потребляет больше перераспределения ресурсов. – dandavis

ответ

1

Возможно, стоит потратить время на процессы узла на докере. Возможно, начните с значения по умолчанию node docker image, а затем добавьте исходный код и загрузите скрипты в файле Docker.

Docker позволяет вам ограничить память каждого экземпляра Docker, и многие экземпляры Docker могут работать на одной машине (или виртуальной машине). Я думаю, что этот подход может быть вашим лучшим выбором.

+0

Я на самом деле использую докер. Я не знал, что Докер имеет возможность ограничить память. Можете ли вы предоставить более подробную информацию об этом конкретном аспекте? – AnDev123

+0

ya, проверьте это: https://docs.docker.com/reference/run/#runtime-constraints-on-cpu-and-memory – thataustin

Смежные вопросы