У меня есть приложение с балансировкой нагрузки на AWS, на двух серверах c4.2xlarge (8 виртуальных ЦП, 15 ГБ ОЗУ), и они обслуживают очень упрощенный сайт, но с системным вызовом ffmpeg, кодирующим mp4 <5s . По отдельности выполнение сценария занимает <1 с,
Действительно странно, как он достигает 100% за 1-минутный интервал
Update2
Команда и ее аргументы
ffmpeg -r 7 -s 470x264 -i upload/1494515054/%01d.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p -preset ultrafast test/`date +%s`.mp4
Время выполнения: в диапазоне от 0m0,148s до 0m0,163s
Однако команда выполняется через php shell_exec
, и в этом скрипте округляется около 350 мс 500 мс
Похоже, это просто дисковый ввод-вывод; 1000 одновременных пользователей в течение 1 минуты ~ 16,7 в секунду, предположительно каждый из них обращается к другому файлу mp4, который вам нужно кодировать. Сколько времени вам нужно, чтобы кодировать 1000 различных файлов mp4 одновременно (или если вы можете запланировать это, порождая 17 новых задач кодирования каждую секунду), и каков дисковый ввод-вывод?