Dleshka.org
Авторизация

Хак Кеширование запросов для слабых хостингов

0
TipTop 11-07-2010 Хаки DLE 4 комментария


Очень часто хостера держат mysql сервера на отдельных серверах, с одной стороны это хорошо, но у не очень качественных хостеров (это я мягко сказал) задержка подымается более чем в 400 раз. И вроде бы получение несчастных 5-10 запросов увеличиваются до десятых секунды, а это и больше.

Данный Хак решает эту проблему, кешируя запросы из mysqli класса, тем самым вы можете оптимизировать работу не только самого движка, но и всех модулей которые у вас стоят, не влияя на их работоспособность.


Автор Хака: Lion__
Версия DataLife Engine: 8.2, 8.5, 9.0
Класс сделан только для mysqli

Сравнение до и после:
До:
<!-- Время выполнения скрипта 0,11074 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00541 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,05579 секунд -->
<!-- Общее количество MySQL запросов 6 -->


<!-- Время выполнения скрипта 0,0983 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00543 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,05012 секунд -->
<!-- Общее количество MySQL запросов 6 -->


После:
<!-- Время выполнения скрипта 0,03124 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00143 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00012 секунд -->
<!-- Общее количество MySQL запросов 0 -->

<!-- Время выполнения скрипта 0,0323 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00209 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00014 секунд -->
<!-- Общее количество MySQL запросов 0 -->




Установка:
1) Скачать архив
2) Включить кеширование на сайте в админпанели
3) Распаковать архив и кинуть файл mysqli.class.php в папку engine/classes

Зарегистрируйтесь чтобы увидеть что тут скрыто.
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Roots69
31 июля 2010 02:34
+ 0 -
На 8.3 и 8.5 не хочет работать ! если кто разобрался поделитесь инфой ! Спасибо
Vipx
15 ноября 2010 11:05
+ 0 -
Да все работает просто надо правильно добавить! спс автору
kabua111
8 апреля 2011 11:55
+ 0 -
Вот вам офф. ответ от разработчика ДЛЕ:

Нет ничего подобного в скрипте никогда не будет, и вам не советуем пользоваться, т.к. это не оптимизация нагрузки, а наоборот убийство сервера путем полной загрузки файловой подсистемы. Вы повесили в этом файле запись и чтение файлов кеша на функцию get_row которая на странице запускается в цикле несколько десятков раз, только для главной страницы этот цикл будет выполнен не менее 20 раз и соответственно не менее 20 подключений и чтений файлов, а про страницу полностью загруженную комментариями говорить не приходится, а если поисковый робот пойдет по страницам, то в кеш выпадет несколько тысяч файлов, что положит попросту сервер, т.к. на поиск нужного файла у файловой подсистемы будет уходить несколько секунд, а потом очистка и все по новой.

Если вам действительно нужно MySQL кеширование, то делается это непосредственно в MySQL и для этого есть статья http://dle-news.ru/tips/559-mysql-keshirovanie.html
Lionprizrak
12 декабря 2011 17:34
+ 0 -
на 9.2 с работает?
Авторизация