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

Импорт каталога JSON-телом на 80 МБ подвешивает сервис на несколько секунд

Чтобы принимать выгрузки каталога, в Express выставили express.json({ limit: '200mb' }). Когда партнёр отправляет файл на 80 МБ, сервис несколько секунд не отвечает никому, а память подскакивает на гигабайт.

Как правильно устроить приём таких данных?

  • Держать небольшой лимит тела, а крупные импорты принимать файлом и разбирать потоком
  • Увеличить лимит до 500 МБ, чтобы запас был больше
  • Вызывать JSON.parse внутри setTimeout, чтобы не блокировать запросы
  • Сжимать тело запроса gzip, тогда разбор будет быстрым

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

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

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

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