29.08.13, 14:16
0 комментарий
  DLE Баг-Фиксы

Фикс высокой нагрузки в мобильных версиях DLE

В движке DataLife Engine есть возможность использовать мобильную версию интернет-портала (если в папке templates находится шаблон smartphone и в системе настройки включено использовать данную функцию). В этом случаи ваши пользователи с помощью смартфоном и мобильных устройств могут зайти в упрощенную версию веб-ресурса и выполнять все действия как и обычные пользователи.

История началась с того, что один веб-мастер обратился за помощью. Веб-проект использующий мобильную версию жутко тормозил. Эта маленькая инструкция под названием Исправляем высокую нагрузку в мобильной версии DLE, поможет решить проблему с загрузкой вашей мобильной версии.

Примечание: Актуально только если есть созданные (не удаленные) RSS информеры.

Чтобы наглядно видеть результат нагрузки на ваш интернет-портал, то придется включить его по этому способу здесь подробно.

Вот результат на обычном шаблоне:

<!-- Время выполнения скрипта 0,05095 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00322 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00235 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,67 MB -->


Вот результат на мобильной версии:
<!-- Время выполнения скрипта 0,16195 секунд -->
<!-- Время затраченное на компиляцию шаблонов 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

Напишите своё мнение