Смерть приложения Node.js, когда более чем 300 человек на нем одновременно

У меня есть node.js приложение, работающее на СРЕДНЕЙ капельке Цифрового Океана. Когда более чем 300 человек получают доступ к нему одновременно, это просто зависает. Сначала я заметил, что это открывало более чем 1 000 файлов сразу. Я переместил набор статических изображений к Amazon S3 для помощи с этим и повысил предел в ulimit (временная фиксация для остановки сервера от завершенной смерти). Я связался с Цифровым Океаном, и они сказали, что сервер должен смочь обработать трафик.

Просто удивление, что ступает, я должен брать для выяснения, почему это происходит.

Некоторые вещи я, вероятно, делаю неправильно:

  • Я все еще служу некоторым статическим файлам с сервера узла. Я планирую сокращение этого к настолько низко, как я могу.
  • У меня нет обратной установки прокси для него (nginx, haproxy, и т.д.).
  • База данных работает на том же сервере как node.js приложение.

Если Вы хотите, чтобы я обеспечил какую-либо дополнительную информацию, спросите. Я с удовольствием сделаю так.

0
задан 19 December 2014 в 09:11
1 ответ
  1. Если вы обслуживаете статические вещи, передайте их nginx для обслуживания вещей, как @codephobia упоминает
  2. ищите любые функции, которые имеют Sync и посмотрите, можете ли вы удалить, что
  3. вы закрываете файловые потоки? В верхней части моей головы, узел имеет около 255 открытых хэндлов к файлам, и у вас могут закончиться эти хэндлы.

Не глядя на это, я не мог помочь. Следующий шаг для вас, сэр, это получить новую учетную запись реликвии и интегрировать ее в ваш сайт, чтобы начать проблемы с журналом и добраться до сути.

1
ответ дан 4 December 2019 в 17:06

Теги

Похожие вопросы