Раздер Название темы Ответов Последний
Графика для сайта Shareman 3.70 RUS/2010 0 mandelsonsouggisse
Изготовление контента Нужен контент 10 ali7875
DataLife Engine Проблема регистрации. 1 JimaX
DataLife Engine Модальное окно в DataLife Engine 3 lionprizrak
DataLife Engine Настройка robots.txt 8 Prizrak_2012
Стол заказов на cmsko.ru Мини-чат. 2 JimaX
Общение пользователей Статьи 3 nastroenie
Хостинг TneHost - Хстинг провайдер 10 ali7875
DataLife Engine Установка банеров 9 JimaX
DataLife Engine Помогите с установой. dle95 2 nastroenie
Яндекс Apdate
Апдейты Яndex тИЦ
13.04.2012Последний |
16.02.2012
04.02.2012
Апдейты Яndex выдачи
17.05.2012Последний |
15.05.2012
12.05.2012
Апдейты ЯКаталога
21.05.2012Последний |
18.05.2012
16.05.2012
JimaX: Насчет оптимизации это все зависит от твоего сайта, ну примерная цена хорошей оптимизации от 700 рублей. ab
JimaX: ali7875, уникализировать в каком смысле ? Для поисковиков или для людей, то есть сам шаблон изменить. laughing
ali7875: да и сделать внутреннюю оптимизацию сайта?
ali7875: JimaX: Привет, сколько примерно будет стоить уникализировать шаблон?
lionprizrak: написал на форуме http://cmsko.ru/forum/topic_29
JimaX: lionprizrak,в чате просто не изложишь всю суть поставленного вопроса.
JimaX: lionprizrak, не надо постоянно засорять чат мусором который вы здесь пишите, создайте просто тему на форуме и все, ждите пока ответят. В следующий раз получите Бан. banned
lllekojladka: без \\
lllekojladka: lionprizrak: scroll=\"yes\"
lllekojladka: scroll=\"yes\"
lionprizrak: help_mehelp_mehelp_me
lionprizrak: Мне здесь кто нибудь ответит плиз (Модальное окно в DataLife Engine) А как сделать что бы внутри появлялась справа прокрутка, при большом объёме текста.
Prizrak_2012: JimaX нужна помошь по одному делу .... не бесплатно конечно. если можешь помочь отпишись на ящик мне.
Frenk: lionprizrak, я себе тоже его установил, и нечего не слетело smile-15 просто ты может что то не так сделал fellow
lionprizrak: После установки этого модуля dude Smart Leech у меня слетело подтверждение сайта на yandexe
JimaX: ali7875,тегов noindex будет достаточно, ну мы еще используем модуль dude Smart Leech, для скрытия и обработки внешних ссылок.
ali7875: JimaX: тегов noindex и nofollow хватит или еще что-то надо?
ali7875: JimaX: как правильно отредактировать код в витрине ссылок, чтобы поисковики не ругались?
lionprizrak: (Модальное окно в DataLife Engine) А как сделать что бы внутри появлялась справа прокрутка, при большом объёме текста.
ali7875: nastroenie: для начала нужно в админпанели создать категории, а вообще создай темку в форуме, там проще будет писать))
Информация
Главная страница » DLE » DLE Хаки » Файловое кеширование в DLE
Файловое кеширование в DLE
» Просмотров: 494 » Дата: 18-12-2010, 18:26 » Автор: NeoMurderer
Инструкция по установке:
1. Создаем папку /engine/cache/all и ставим на нее права на запись (chmod 777 или 775 в зависимости от хостера).
2. Открываем index.php и редактируем:
Находим:
@session_start ();

Вставляем после:
///////////////Файловое кэширование//////////////  
if($_SESSION['dle_user_id'] == 0 && $_SERVER['REQUEST_METHOD'] == "GET")  
{  
    $cache_time = 21600; //Время жизни кеша в секундах  
    $FCache = $_SERVER['DOCUMENT_ROOT'].'/engine/cache/all/'.md5($_SERVER['REQUEST_URI']).'.html';  
    if (file_exists($FCache) && filemtime($FCache)>time()-$cache_time)  
    {  
        echo join('',file($FCache))."<!-- use cache -->";  
        exit;  
    }  
}  
/////////////////////////////////////////////////

Находим:
$tpl->compile ( 'main' );

Вставляем перед:
ob_start();


Находим:
GzipOut ();

Вставляем после:
//////////Файловое кэширование//////////  
if($_SESSION['dle_user_id'] == 0 && $_SERVER['REQUEST_METHOD'] == "GET")  
{  
    $pageBuf = ob_get_contents();  
    $fp = fopen($FCache, "w");  
    fputs($fp, $pageBuf);  
    fclose($fp);  
}  
////////////////////////////////////////



После этих манипуляций в папке /engine/cache/all будут накапливаться кешированные страницы сайта.
Для того чтобы устаревший кеш редкооткрываемых страниц не копился и не забивал вам винчестер, добавляем по крону выполнение следующего скрипта каждые 10 минут например.

<?  
$cache_time = 21600+10; //Время жизни кеша в секундах + 10 секунд  
$url = "/home/admin/domains/site.ru/public_html/engine/cache/all/"; // полный путь к папке с кешем от корня сервера.  
$dir = opendir($url);  
while(($file = readdir($dir)) !== false)  
{  
    $ras = pathinfo($file);  
    if($ras[extension] == 'html')  
    {  
        $FCache = $url.$file;  
        if (file_exists($FCache) && filemtime($FCache) < time()-$cache_time)  
        {  
            unlink($FCache);  
        }  
    }  
}  
closedir($dir);  
?>


Данный метод кеширования существенно снижает нагрузку на базу данных. К примеру у автора инструкции есть сайт на DLE с посещаемостью 70к+ в сутки, а благодаря файловому кешированию нагрузка на базу данных не превышает 70%. Без данного кеширования, при такой посещаемости, DLE просто ложил базу данных MySQL на выделенном сервере!
В данном примере время жизни кеша 6 часов, оптимально для сайтов с посещаемостью более 50к. При этом кеш занимает на диске 2-3 гигабайта. Для сайтов с меньшей посещаемостью можно уменьшить время жизни кеша и соответственно уменьшится его размер на винчестере.



Комментарии: 0
 (голосов: 1)
Уважаемый посетитель, Вы зашли к нам на сайт как незарегистрированный пользователь. Мы рекомендуем Вам бесплатно зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.