PHP CPU 使用率 100%

PHP CPU 使用率 100%

我的一个 php 脚本(使用 php-fpm 7.0 和 nginx 设置)需要高 CPU 使用率才能完成(合法)。我希望它花更多时间完成,但让 CPU 可用于其他请求。当前,该脚本运行时服务器没有响应。

我可以使用 PHP sleep() 创建一些延迟,但是否有更合适的负载平衡方法?

答案1

你可能正在寻找好的Linux/UNIX 中的命令。基本上,它所做的就是运行一个具有修改后的调度优先级的命令。sleep()如果运行任务本身很繁重,PHP 可能无济于事 - 无需重复。

答案2

您可以使用sleep (int $seconds)暂停脚本执行。另外还有微秒版本:usleep (int $micro_seconds)

使用 sleep 或 usleep 将停止您的脚本,使 CPU 可用于其他进程。

另外还有一个名为的实用程序nice。此实用程序控制 CPU 的进程优先级。您可以使用nice -n 19 php script.php它将脚本优先级降低到最低值。最佳优先级是-20(最大优先级)到+19(最小优先级)。

我认为对您来说最好的解决方案是sleep或者usleep因为这是一个非常简单的解决方案并且不需要对 Web 服务器和应用程序服务器进行任何修改。

相关内容