执行proc_nice()时,它实际上是不是Apache的线程?
如果是这样,并且当前用户(非超级用户)无法重新设置其原始优先级,那么在Apache 2.0x服务器上杀死相应的Apache线程(apache_child_terminate)?
问题在于我试图限制允许用户运行Ad-Hack查询的应用程序的影响。查询可能很大,对数据的结果转换需要大量的内存和CPU。
我已经重新编写了基于流的流程 - 帮助消耗内存,但我还希望流程运行的优先级较低。但是我不能将Apache线程置于低优先级,因为我们在同一个盒子上运行了很多高优先级的Web服务。
TIA
答案 0 :(得分:2)
在这种情况下,一个解决方案,如果经常不在Apache进程中做那种繁重的工作,但要么:
shell_exec
的东西 - 这是你必须在同步模式下工作(即,如果几分钟后你就无法执行任务)
尽可能经常,特别是如果繁重的计算需要一些时间,我会选择第二个解决方案:
另一个(很好看,但我还没有尝试过)解决方案是使用某种工具,例如Gearman:
Gearman提供了一个通用的应用程序 将工作分配给其他人的框架 机器或过程更好 适合做这项工作。
它允许你 要并行工作,加载 平衡处理,并打电话 语言之间的功能。
它可以 用于各种应用, 从高可用性网站到 数据库复制的传输 事件。
换句话说,就是这个 神经系统如何分配 处理沟通。