- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site_checker.php
- Класс: CSiteCheckerTest
- Вызов: CSiteCheckerTest::check_perf
function check_perf()
{
$arTime = array();
$count = 3;
for($i=0; $i<$count; $i++)
{
if (!$res = $this->ConnectToHost())
return false;
if (IsModuleInstalled('security'))
{
$file = COption::GetOptionString("security", "ipcheck_disable_file", "");
COption::SetOptionString("security", "ipcheck_disable_file", $this->LogFile);
}
$strRequest = "GET "."/bitrix/admin/site_checker.php?test_type=perf&unique_id=".checker_get_unique_id()."&i=".$i." HTTP/1.1rn";
$strRequest.= "Host: ".$this->host."rn";
$strRequest.= "rn";
$strRes = GetHttpResponse($res, $strRequest, $strHeaders);
if (IsModuleInstalled('security'))
COption::SetOptionString("security", "ipcheck_disable_file", $file);
if (!is_numeric($strRes))
{
PrintHTTP($strRequest, $strHeaders, $strRes);
return $this->Result(false, GetMessage('SC_TEST_FAIL'));
}
$arTime[] = doubleval($strRes);
}
$r = doubleval($count) / array_sum($arTime);
if ($r < 10)
$strResult = GetMessage("MAIN_PERF_VERY_LOW");
elseif ($r < 15)
$strResult = GetMessage("MAIN_PERF_LOW");
elseif ($r < 30)
$strResult = GetMessage("MAIN_PERF_MID");
else
$strResult = GetMessage("MAIN_PERF_HIGH");
return $this->Result($r >= 10, $strResult.' ('.number_format($r , 2, ".", " ").' '.GetMessage("MAIN_PAGES_PER_SECOND").')');
}