На этом сервере я делаю только одно - кодирую видео ffmpeg
. И иногда это работает нормально, иногда очень медленно.
Я запускаю ту же команду только для теста:
$ sudo time ffmpeg -i test.mp4 -c:a copy -vf 'drawbox= : x=0 : y=0 : color=invert : t=2' output1.mp4
ffmpeg version n2.2.15 Copyright (c) 2000-2015 the FFmpeg developers
built on Apr 30 2015 13:20:09 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
......
16.24user 0.04system 0:16.30elapsed 99%CPU (0avgtext+0avgdata 60972maxresident)k
0inputs+6088outputs (0major+15811minor)pagefaults 0swaps
Через 5 часов я снова запустил его, потому что увидел, что он снова начинает медленно работать.
$ sudo time ffmpeg -i test.mp4 -c:a copy -vf 'drawbox= : x=0 : y=0 : color=invert : t=2' output1.mp4
.......
163.41user 0.84system 2:46.90elapsed 98%CPU (0avgtext+0avgdata 60988maxresident)k
0inputs+6136outputs (0major+15814minor)pagefaults 0swaps
Как видите, времени на это ушло в 10 раз больше, чем в первый раз. (1)16.24user
(2)163.41user
Есть идеи, как это можно исправить?
в зависимости от типа вашего экземпляра (экземпляры с расширяемым процессором) вы можете иметь дело с кредитом процессора.
==> https://stackoverflow.com/questions/28984106/whats-is-cpu-credit-balance-in-ec2
если вы обнаружите сильные колебания в экземпляре без прерывания, вы можете остановить и запустить (не перезагружать) экземпляр. это заставит экземпляр работать на другом гипервизоре (поле хоста). Возможно, у текущего общего хоста есть проблемы, которые будут решены при запуске vm на новом хосте.
Я использую несколько экземпляров EC2; Я также видел большие различия в том, сколько времени потребуется для выполнения одной и той же работы - обработки одного и того же видео снова и снова. Иногда два прогона выполняются очень быстро, отклонение менее 1%; в других прогонах дисперсия составляет от 5 до 10 раз! Я заметил, что эти проблемы чаще возникают на наших небольших экземплярах. У нас есть несколько, которые имеют размер M * .large или C * .large, и у этих экземпляров нет этой проблемы (столько же)