Вообщем господа, нужно мне рассказать про одни грабли найденные при установке Mosets tree 2.0:
Грабли № 1. вообщем при отображении списка из 50 товаров в категории используются следующие ресурсы:
Generation time:1.148252 sec.135 queries executedА если выключить AkoComment bot, то:
Generation time:0.8796639 sec.33 queries executedMosets tree действительно мощная штука в нем в частности внедрена думаю что достаточно серьезная поддержка триггеров. Поэтому при генерации списка товаров в категории загружаются установленные боты.
И почему-то Ако бот пытается, что-то найти для каждого товара:
SELECT id
FROM kamaz_menu
WHERE type = 'content_typed'
AND componentid = 2802363
SELECT hits FROM kamaz_content WHERE id = '28023'
Решение:Я не стал глубоко лазить, чтобы понять что и зачем он хочет найти, просто сделал так:
в фаиле mambots\content\akocommentbot.php
function botAkoComment( $published, &$row, &$params, $page=0 ) {
// lms
if ($_REQUEST['option']=='com_mtree') {
return;
}
// lms
и снова получаем необходимые 33 запроса.
ЗЫ
Smart, я бы мог поюзать Jcomment - на предмет подобных граблей :-)
(даю гарантию, что никуда он не уйдет)
Грабли № 2. Опытом доказано, что яша ставит ниже страницы со ссылками вида
/component/option,com_mtree/task,listcats/cat_id,1433/Itemid,37/
чем
OpenSef вообще не умеет работать с Mtree
Вот что получается при установке Artio JoomSEF:
[b]Generation time:1.2738819 sec.106 queries executed[/b]
Решение №1:Включение стандартного кэша сделало чудо:
Generation time:0.3940439 sec.28 queries executed
Решение №2:еще можно извратиться, и
- не показывать форму авторизации в каталоге
- немного подправить Jre_cache, чтобы он кэшировал только каталог (это оказалось не так просто :-) ):
if ($jrecache_config->getCfg('enable_cache') == "0" ){
$bypass_cache= true;
if ( $is_debug ) {
$debug_out = "<br/>Cache is disabled";
}
} else {
[b]// lms
if (strpos($_SERVER['REQUEST_URI'],"catalog")==0) {
$bypass_cache = true;
// if it is NOT catalog - you should bypass cache
} else {
// lms[/b]
$bypass_cache = false;
$cache_TTL = $jrecache_config->getCfg('cache_TTL');
}
}
- установить время жизни кэша в Jre_cache например на неделю (чтобы на всякий случай все равно обновлялось хоть иногда)
- Скорость тогда - просто заглядение -
запросов 0 !!!!
Грабли № 3. Нормальный перевод так и не нашел.
Пришлось перетащить новые константы в язык от версии 1.5.9 :-)
ЗЫ чем все это закончится напишу здесь :-)