在shell_exec运行Python脚本之前,如何检查CPU使用率?还是其他排队方法可以防止服务器过载?

问题描述

我有一个基于Apache的PHP网站,

PHP的shell_exec执行的Python脚本通常需要5到10秒钟才能运行,但使用的开源库在运行时会占用大量内存/ cpu(例如50-70%)。

现在更常见的是,我有多个用户恰好在同一时间上传文件。当少数用户同时上传文件时,我的cpu过载,因为每个用户都通过shell_exec执行了占用大量内存的python文件的单独实例。发生这种情况时,服务器崩溃。

我正在尝试找出解决此问题的最佳方法我有一些想法,但不确定哪一个是最佳方法/是否可行:

  1. shell_execPHP运行之前,请检查cpu使用率,看看它是否大于某个阈值(例如70%);如果是这样,请等待10秒钟,然后重试

  2. 或者,我可以检查数据库中当前的活动上载;如果超过某个阈值(例如5次上传),则可以执行一些操作

  3. 创建某种排队系统;我不确定在这里有什么选择,但是我想有办法将shell_exec分成某种托管队列-我很高兴在这里研究新技术,所以如果有的话您可以向我介绍的方法,我很想深入了解!

任何输入将不胜感激!谢谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)