Я пытаюсь проверить среднее время загрузки страницы, отправляя запросы с помощью php-движка PhantomJS, используя Symfony. Почему на некоторых страницах половину времени я получаю 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;
}
Задача ещё не решена.
Других решений пока нет …