- Избегайте блокировок: блокирующие операции (вроде fs.readSync) заманчивы, потому что код выглядит чище, но они буквально убивают производительность. Вместо них используйте async/await операции, потому что во время выполнения асинхронной работы ЦП будет доступен и для других задач.
- Увеличьте лимит памяти: Node по умолчанию настроен на ограничение в 1 ГБ. Если серверу доступно, скажем, 4 ГБ специально под ваше приложение, установить максимальный предел памяти вам придется вручную, используя CLI со следующим флагом: --max-old-space-size
Пример: node --max-old-space-size=4096 server.js - Убедитесь, что вы задействовали все ядра процессора: по умолчанию Node работает в одном треде. Если вы специально не настраивали конфигурацию, которая запускала бы несколько тредов, сэкономьте деньги, выбрав сервер с 1 ядром.
- Сократите количество обращений к приложению: настройте принудительный HTTPS и все редиректы как можно выше (например, на уровне прокси). Это позволит приложению не отвлекаться на лишнее, а, значит, быть доступнее для запросов, которые действительно важны.
5 советов, чтобы подготовить NodeJS к высоким нагрузкам
4 июля 20194 июл 2019
2
~1 мин