1

我正在尝试使用 Symfony 测试平均 pageLoad 时间,使用 PhantomJS php 引擎发送请求。为什么有些页面有一半的时间我收到 408 响应,而只有一半 - 200?是否需要额外的延迟或选项?

public function loadPage($thePage){

    $testResults = [];
    $errorCount = 0;
    $statusCodes = [];

    $client = Client::getInstance();
    $upOne = realpath(__DIR__ . '/../../..');
    $client->getEngine()->setPath($upOne.'/bin/phantomjs');

    $client->getEngine()->addOption('--load-images=true');
    $client->getEngine()->addOption('--ignore-ssl-errors=true');

    $client->isLazy();

        $request = $client->getMessageFactory()->createRequest($thePage, 'GET');
        $request->setTimeout(10000);

        $response = $client->getMessageFactory()->createResponse();

        for($i = 0; $i < 10; $i++) {

            $startScriptTime = microtime(TRUE);

            $client->send($request, $response);

                if($response->getStatus() !== 200) {

                    $errorCount++;
                }

            $endScriptTime = microtime(TRUE);
            $totalScriptTime = $endScriptTime - $startScriptTime;
            $loadTime = number_format($totalScriptTime, 4);

            $statusCodes[] = [$response->getStatus(), $loadTime];

            if($response->getStatus() == 200){
                $testResults[] = $loadTime;
            }
        }

    $outcome = [$this->getAverageNoExtremes($testResults), $errorCount, $statusCodes];
    return $outcome;
}
4

0 回答 0