AWS Amazon AMI EC2 使用 php 获取 shell exec 的内存使用情况

AWS Amazon AMI EC2 使用 php 获取 shell exec 的内存使用情况

对于这个新手问题,我深表歉意,我真的希望得到一些关于我的问题的最佳实践建议。

我的盒子里安装了 ffmpeg,并且正在运行一个简单的脚本,该脚本使用 shell_exec 和 php 将 .mp3 文件转换为 .wav 文件。

当没有被滥用时,这个功能可以正常工作,最近,我的服务的一个用户编写了一个宏脚本,该脚本启动了转换近 10,000 个 mp3 的过程,这彻底摧毁了我的服务器,直到我拔掉电源插头。

现在,我完全理解我应该采取一些措施来防止这个问题,防止这种情况的最佳方法是什么?

我检查了 EC2 并且不得不停止并重新启动它,因为 CPU 的峰值超过 90,导致一切都崩溃了。

使用 php 脚本来检查 CPU 的负载是否有意义,如果负载超过 50% 就不运行该脚本?

我仍在学习,希望得到一些建议,让我安心,这个问题不会再次发生。

谢谢

答案1

两件事,1) 对付费客户和免费套餐用户的 API 进行速率限制。2) AWS 架构模式是将消息排队,并根据队列大小扩展工作人员。您甚至可以为付费用户和免费用户设置单独的队列。这样,工作人员会首先/更频繁地检查付费队列,而不是免费套餐队列。

http://docs.aws.amazon.com/autoscaling/latest/userguide/as-using-sqs-queue.html在此处输入图片描述

相关内容