Допустим, у меня есть 12-ядерный процессор, на котором я запускаю приложение nodejs.
Приложение в основном выполняет две функции:
1. Преобразует загруженное видео из одного формата в другой (интенсивно использует ЦП)
2. Обслуживает другие запросы GET/POST, интенсивно использующие БД
Вопрос : Лучше всего создать 2 сервера - один для работы процессора, другой для работы с БД? Если я использую модуль кластера, сколько воркеров я должен создать на каждом сервере?
оптимизация рабочих кластеров nodejs
Ответы (1)
Я бы не стал перекодировать на том же сервере, что и сервер API REST, а скорее перенес бы его на отдельный сервер.
Существует множество сервисов, предоставляющих возможности транскодирования, например Amazon Elastic Transcoder и другие. Если вы настаиваете на собственном сервере, я бы использовал контейнер Docker вокруг FFMPEG. и разверните это в среде автоматического масштабирования Docker, такой как Elastic Beanstalk.
person
Travis Tidwell
schedule
28.06.2016
Есть ли проблема выполнить транскодирование с использованием FFMPEG на отдельном сервере, работающем на той же машине, что и сервер REST API (я не очень склонен использовать AWS)?
- person vjjj; 29.06.2016
Транскодирование использует больше, чем просто ЦП, и может вызвать много проблем с остальным API, если вы попытаетесь запустить его на том же компьютере. Это также сожрет оперативную память и другие ресурсы. Я бы очень рекомендовал хранить его на отдельной машине. Помимо AWS, существуют и другие сервисы, предоставляющие транскодирование как услугу.
- person Travis Tidwell; 29.06.2016