Приношу извинения за вопрос новичка, очень хотелось бы получить совет по передовой практике решения моей проблемы.
Я в моем ящике установлен ffmpeg, и я запускаю простой сценарий, который преобразует .mp3 в файл .wav, используя shell_exec с php.
Это отлично работает, если недавно не злоупотреблял пользователь моей службы написал макрос-скрипт, запускающий процесс преобразования почти 10 000 mp3 уничтожил мой сервер, пока я не отключил его.
Я полностью понимаю, что у меня должно быть что-то, чтобы предотвратить эту проблему, как лучше всего предотвратить такую ситуацию?
Я проверил EC2, и мне пришлось остановить и перезапустить его, процессор достиг пика более 90, все сломалось.
Имеет ли смысл иметь php-скрипт для установки флажка cpu для загрузки, и если он где-то больше 50%, просто не запускайте скрипт?
Я все еще учусь, был бы признателен за некоторые советы, которые дадут мне покой помните, что эта проблема больше не повторится.
Спасибо
Две вещи: 1) ограничение скорости вашего API для платящих клиентов и бесплатный уровень использования. 2) Шаблон архитектуры AWS для этого будет заключаться в постановке сообщений в очередь и масштабировании рабочих в зависимости от размера очереди. У вас даже могут быть отдельные очереди для платных и бесплатных пользователей. Таким образом, рабочие сначала проверяют платные очереди / чаще, чем очереди бесплатных уровней.
http://docs.aws.amazon.com/autoscaling/latest/userguide/as-using-sqs-queue.html