Хак Фикс высокой нагрузки в мобильных версиях DLE
В движке DataLife Engine есть возможность использовать мобильную версию
интернет-портала (если в папке templates находится шаблон smartphone и в системе настройки включено использовать данную функцию). В этом случаи ваши пользователи с помощью смартфоном и мобильных устройств могут зайти в упрощенную версию веб-ресурса и выполнять все действия как и обычные пользователи.
стория началась с того, что один веб-мастер обратился за помощью. Веб-проект использующий мобильную версию жутко тормозил. Эта маленькая инструкция под названием Исправляем высокую нагрузку в мобильной версии DLE, поможет решить проблему с загрузкой вашей мобильной версии.
Примечание: Актуально только если есть созданные (не удаленные) RSS информеры.
Чтобы наглядно видеть результат нагрузки на ваш интернет-портал, то придется включить его по этому способу здесь подробно.
Вот результат на обычном шаблоне:
<!-- Время выполнения скрипта 0,05095 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00322 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00235 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,67 MB -->
<!-- Время затраченное на компиляцию шаблонов 0,00322 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00235 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,67 MB -->
Вот результат на мобильной версии:
<!-- Время выполнения скрипта 0,16195 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,0035 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00139 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,76 MB -->
<!-- Время затраченное на компиляцию шаблонов 0,0035 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00139 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,76 MB -->
Проблема как оказалось была в файле шаблона informer.tpl и в обработчике кеша на php.
В мобильной версии портала этот файл абсолютно пустой, отсюда и кеша создается пустым. А обработчик не делает разницы между пустым файлом кеша и отсутствующим.
Открыть файл engine/modules/rssinform.php
Найти код:
if ( $buffer ) {
Заменить на:
if ( $buffer!==false ) {
Найти код:
if( ! $buffer ) {
Заменить на:
if( $buffer===false ) {
С уважением,
Олег Александрович a.k.a. Sander