moovix

1С-Битрикс: Сервер мощный, а сайт на движке тормозит, что делать?

Moovix » Блог » 1С-Битрикс: Сервер мощный, а сайт на движке тормозит, что делать?
Есть способы ускорить работу сайта. Если сайт соответствует всем проверкам, то можно еще немного ускорить: Перевод сайта на минимальный php 7

Есть способы ускорить работу сайта.

Если сайт соответствует всем проверкам, то можно еще немного ускорить:

  1. Перевод сайта на минимальный php 7
  2. Создание удаления кеша на крон в /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);
				
			
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Moovix » Блог » 1С-Битрикс: Сервер мощный, а сайт на движке тормозит, что делать?

Есть вопрос? мы онлайн

Есть проект? Заполните бриф.

top