AWS Amazon AMI EC2 получает использование памяти с помощью php для shell exec

Приношу извинения за вопрос новичка, очень хотелось бы получить совет по передовой практике решения моей проблемы.

Я в моем ящике установлен ffmpeg, и я запускаю простой сценарий, который преобразует .mp3 в файл .wav, используя shell_exec с php.

Это отлично работает, если недавно не злоупотреблял пользователь моей службы написал макрос-скрипт, запускающий процесс преобразования почти 10 000 mp3 уничтожил мой сервер, пока я не отключил его.

Я полностью понимаю, что у меня должно быть что-то, чтобы предотвратить эту проблему, как лучше всего предотвратить такую ​​ситуацию?

Я проверил EC2, и мне пришлось остановить и перезапустить его, процессор достиг пика более 90, все сломалось.

Имеет ли смысл иметь php-скрипт для установки флажка cpu для загрузки, и если он где-то больше 50%, просто не запускайте скрипт?

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

Спасибо

1
задан 7 August 2017 в 15:10
1 ответ

Две вещи: 1) ограничение скорости вашего API для платящих клиентов и бесплатный уровень использования. 2) Шаблон архитектуры AWS для этого будет заключаться в постановке сообщений в очередь и масштабировании рабочих в зависимости от размера очереди. У вас даже могут быть отдельные очереди для платных и бесплатных пользователей. Таким образом, рабочие сначала проверяют платные очереди / чаще, чем очереди бесплатных уровней.

http://docs.aws.amazon.com/autoscaling/latest/userguide/as-using-sqs-queue.html enter image description here

1
ответ дан 3 December 2019 в 23:27

Теги

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