Php 使用Chrome Headless时如何减少CPU使用

Php 使用Chrome Headless时如何减少CPU使用,php,laravel,nginx,headless-browser,Php,Laravel,Nginx,Headless Browser,我已经用安装了centos服务器的Laravel构建了一个API 在API中,有一个进程使用类似这样的无头chrome来获取HTML源代码 [MyController.php] $url = $request['url']; $browser = $browserFactory->createBrowser( [ 'headless' => true, 'noSandbox' => true, ] ); try{ $t

我已经用安装了centos服务器的Laravel构建了一个API

在API中,有一个进程使用类似这样的无头chrome来获取HTML源代码

[MyController.php]

$url = $request['url'];
$browser = $browserFactory->createBrowser(
    [
        'headless' => true,
        'noSandbox' => true,
    ]
);

try{
    $this->page = $browser->createPage();
    $this->page->navigate($url)->waitForNavigation(Page::LOAD, 60);
    $response = $this->page->evaluate('document.documentElement.outerHTML')->getReturnValue();
    $resolvedURL = $this->page->getCurrentUrl();
    // too long to load
} catch (OperationTimedOut $e) {
    $response  = null;
    $resolvedURL = null;
    // An other page was loaded
} catch (NavigationExpired $e) {
    $response  = null;
    $resolvedURL = null;
} finally {
    $browser->close();
}

// analyze retrived html code
.
.
.

现在,由于CPU使用率高,我的服务器出现了高负载平均问题,我试图找出原因

我对这个API有很多HTTP请求,很明显,您可以在屏幕截图上看到许多PHP fpm进程正在运行

我想降低服务器上的平均负载,而不调节PHP fpm max子级的数量,但我并不擅长服务器管理

要降低CPU使用率,我能做什么?我已经尽力优化了我的PHP代码

比如,是否可以在所有PHP fpm进程中共享一个Chrome进程,这样我就不必为每个HTTP请求创建一个Chrome进程