【问题标题】:How to limit CPU usage from within a PHP script / module如何从 PHP 脚本/模块中限制 CPU 使用率
【发布时间】:2019-06-25 12:04:15
【问题描述】:

从该脚本中限制 PHP 脚本 CPU 使用率的最佳方法是什么? 我不希望重新优化整个 PHP 系统进程,而是让 PHP 脚本运行更长时间并调整该脚本的 CPU 使用率。 基本上,它需要动态地“调整”自身,并且只针对脚本,或者它需要减慢它正在执行的计算/活动。

尝试proc_nice(),但在我的脚本完成后无法让 PHP 增加其他脚本的 CPU 使用率。我的脚本中的更改影响了其他后续脚本/请求。这是在我的脚本中使用时,并且在增加 nice 级别后,nice 值将保留给系统中的 PHP 进程。

【问题讨论】:

  • 您说:“尝试了 proc_nice(),但无法让它增加 cpu 使用率”,您的意思是“增加”吗?
  • 也许这不是您的选择,但我个人会扩展基础设施以满足需求,或者将流程分散到多个实例/机器上。它们非常便宜(有时甚至免费,视情况而定)。只是基于非常有限的信息的想法。
  • 您使用的是正增量还是负增量?还有为什么这会影响其他脚本?
  • 我能够将 nice 级别向下更改,但它适用于整个 PHP 进程。当我的脚本运行时这没问题,但在脚本结束后无法将其重置为默认值。我将在问题中澄清这一点。

标签: php apache limit cpu-usage


【解决方案1】:

您可以在代码中定期usleep()。这将延迟脚本执行给定的微秒数,从而为其他进程留出更多时间。

【讨论】:

  • 我会试试这个,还会检查我的脚本是否可以检查整体 CPU 使用情况以相应地调整“usleep()”持续时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
相关资源
最近更新 更多