Вступить в клуб →
лёгкаявопросПотоки, память и производительность процесса

Обработчик читает файл шаблона через readFileSync на каждом запросе

app.get('/invoice/:id', (req, res) => {
  const template = fs.readFileSync('./templates/invoice.html', 'utf8');
  res.send(render(template, req.params.id));
});

Под нагрузкой время ответа растёт у всех ручек сервиса, а не только у этой. Почему?

  • Синхронное чтение останавливает event loop для всех запросов
  • readFileSync открывает файл без кэша и тратит память
  • Express выполняет обработчики по очереди в порядке прихода
  • Шаблон слишком большой для отправки через res.send

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела