функция checkServer ($ domain, $ port = 80)
{
глобальный $ checkTimeout, $ testServer;
$status = 0;
$starttime = microtime(true);
$file = @fsockopen ($domain, $port, $errno, $errstr, $checkTimeout);
$stoptime = microtime(true);
if($file)
{
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
else
{
$testfile = @fsockopen ($testServer, 80, $errno, $errstr, $checkTimeout);
if($testfile)
{
fclose($testfile);
$status = -1;
}
else
{
$status = -2;
}
}
return $status;
}
тестовым сервером является google.sk, а checkTimeout - 10 секунд. Это на самом деле работает, но когда я пытаюсь запустить его в цикле около 50 раз, и делать другие вещи (запросы MySQL и тому подобное), это не медленно, но вызывает 100% загрузку моего процессора, пока сценарий не завершится. Это единственный процесс Apache, который сводит мой процессор с ума ... Так что я хотел спросить вас, есть ли у вас какие-либо идеи по этому поводу. может быть, какой-нибудь совет, как сделать то же самое в python или bash, будет оценен по достоинству.
Спасибо за ответы:)