php能使用多个cpu么,从另一个php文件执行php文件使用太多的CPU

我已经阅读了关于SO的其他问题并且标题相似,但这不是这个问题的内容.我知道如何从另一个

PHP脚本执行

PHP脚本.问题是,当我这样做时,它使用了太多的CPU.我想知道如何减少这一点.

我有一个简单的类似前端控制器的脚本叫做index.php.它处理来自客户端的GET请求,并根据传递的“action”参数,将请求发送到适当的文件来处理它.例如,这是客户端请求:

xhttp.open("GET", serverURL + "?action=doSomething" + "&userID=" + user.ID + "&time=" + lastServerTime, true);

index.php有一个数组,它将“action”参数映射到适当的文件:

exec('php ' . $url_map[$action] . ' "' . $parameter1 . '"' . ' "' . $parameter2 . '" 2>&1', $output, $return_value);

出于测试目的,我创建了一个PHP脚本,除了测量CPU利用率并将其转储到日志文件之外什么都不做:

function varDumpToFile($parameter1) {

$file = 'log.txt';

$dump = $parameter1;

$output = print_r($dump, true);

file_put_contents($file, $output, FILE_APPEND | LOCK_EX);

}

varDumpToFile(`ps -eo pcpu,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 5`);

?>

这会生成一个如下所示的日志文件:

9.0 3123052 user /opt/cpanel/ea-php56/root/usr/bin/php cputest.php 10 147424 1537625595

显然,PHP脚本不应占用9%的CPU来执行.为了比较,我运行相同的脚本通过GET请求直接访问它:

0.1 3186198 user lsphp:ic_html/dev/php/cputest.php

0.1%更像是它.但是为什么从另一个PHP脚本调用这个PHP脚本会占用这么多CPU?是因为当我执行PHP时,我必须执行PHP的“新实例”,这有很多开销吗?如果是这样,有没有办法使用“已经运行”的PHP实例来执行PHP脚本?还是有另一种方法吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值