1С-Битрикс: Сервер мощный, а сайт на движке тормозит, что делать?
- 18 октября, 2022
- 3:22 пп
- Нет комментариев
Есть способы ускорить работу сайта.
Если сайт соответствует всем проверкам, то можно еще немного ускорить:
Перевод сайта на минимальный php 7
Есть способы ускорить работу сайта.
Если сайт соответствует всем проверкам, то можно еще немного ускорить:
- Перевод сайта на минимальный php 7
- Создание удаления кеша на крон в /bitrix/php_interface/init.php
добавляем
function clean_expire_cache($path = "")
{
if (!class_exists("CFileCacheCleaner"))
{
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/cache_files_cleaner.php");
}
$curentTime = mktime();
if (defined("BX_CRONTAB") && BX_CRONTAB === true)
$endTime = time()+5; //Если на кроне, то работаем 5 секунд
else
$endTime = time()+1; //Если на хитах, то не более секунды
//Работаем со всем кешем
$obCacheCleaner = new CFileCacheCleaner("all");
if(!$obCacheCleaner->InitPath($path))
{
//Произошла ошибка
return "clean_expire_cache();";
}
$obCacheCleaner->Start();
while($file = $obCacheCleaner->GetNextFile())
{
if (is_string($file))
{
$date_expire = $obCacheCleaner->GetFileExpiration($file);
if($date_expire)
{
if($date_expire < $curentTime)
{
unlink($file);
}
}
if(time() >= $endTime)
break;
}
}
if (is_string($file))
{
return "clean_expire_cache(\"".$file."\");";
}
else
{
return "clean_expire_cache();";
}
}
где
Итак, ключевые моменты.
Определяем, сколько будет работать наш агент. Если исполняется не на CRON’е, то лучше больше секунды не ставить:
if (defined("BX_CRONTAB") && BX_CRONTAB === true)
$endTime = time()+5; //Если на кроне, то работаем 5 секунд
else
$endTime = time()+1; //Если на хитах, то не более секунды
Благодаря коду:
if (is_string($file))
{
return "clean_expire_cache(\"".$file."\");";
}
процесс удаления получается пошаговым, т.е. начинает он работать оттуда, где закончил.
3. Включаем крон
в php_interface/dbconn.php добавляем
define('BX_CRONTAB_SUPPORT', true);