Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 1383 Просмотров
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Снёс компонент ДжумФиш.

Получил одну непонятку, а именно:

Если иду например навигатор > Официально > статья? то затем кликая на верхний логотип сайта попадаю в  категорию этой пуликации Официально  Администрация, а не на Главную как это было до сноса компонента должно быть по умолчанию.

В чём причина возникшего?

Кеш чистил.
Таблицы оптимизировал.
« Последнее редактирование: 22.10.2010, 20:31:55 от Forget-me-not »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Снёс ДжумФиш и получил непонятку
« Ответ #1 : 22.10.2010, 10:17:41 »
А дело тут по моему не в JoomFish... Мне кажется, что делать ссылку на index.php не совсем корректно:

Цитировать
<h1 class="logo">
   <a title="КЛИМОВО.орг" href="index.php"><span>КЛИМОВО.орг</span></a>
</h1>
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Re: Снёс ДжумФиш и получил непонятку
« Ответ #2 : 22.10.2010, 10:19:56 »
Дык что делать и куда лезть?

Просто до сноса проблемы не было.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Снёс ДжумФиш и получил непонятку
« Ответ #3 : 22.10.2010, 10:23:30 »
Залезть в index.php шаблона, и поменять ссылку например на <?php echo JURI::root(); ?>

Код
<h1 class="logo">
   <a title="КЛИМОВО.орг" href="<?php echo JURI::root(); ?>"><span>КЛИМОВО.орг</span></a>
</h1>
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Re: Снёс ДжумФиш и получил непонятку
« Ответ #4 : 22.10.2010, 10:27:24 »
Это принял к действию, но ...  в другом шаблоне примерно такая ж ситуация
Компонент jDownloads
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Снёс ДжумФиш и получил непонятку
« Ответ #5 : 22.10.2010, 10:30:06 »
Ну я это привел как вариант исправления, потому что пока на ум не приходит ничего другого ;) Можно ещё проверить, не осталось ли каких-то JoomFish плагинов, может они как-то влияют.
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Re: Снёс ДжумФиш и получил непонятку
« Ответ #6 : 22.10.2010, 10:31:16 »
посмотрим
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Re: Снёс ДжумФиш и получил непонятку
« Ответ #7 : 22.10.2010, 15:11:19 »
В одном шаблоне внёс изменения в "index.php - помогло

В основном шаблоне JA Teline III не нашёл даже куда торкаться  в index.php ... 

Код
<?php    

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

include_once (dirname(__FILE__).DS.'libs'.DS.'ja.template.helper.php');

$tmplTools = JATemplateHelper::getInstance($this, array('ui', 'direction'));

# Auto Collapse Divs Functions ##########
$ja_left = $this->countModules('left') || ($tmplTools->getParam(JA_TOOL_MENU) == 1);
$ja_right = $this->countModules('right');

if ( $ja_left && $ja_right ) {
$divid = '';
} elseif ( $ja_left ) {
$divid = '-fr';
} elseif ( $ja_right ) {
$divid = '-fl';
} else {
$divid = '-f';
}
$tmplTools->setParam ('divid', $divid);

$curidx = $tmplTools->getCurrentMenuIndex();
//if ($curidx) $curidx--;

//Calculate the width of template
$tmplWidth = '';
$tmplWrapMin = '100%';
switch ($tmplTools->getParam(JA_TOOL_SCREEN)){
case 'auto':
$tmplWidth = '97%';
break;
case 'fluid':
$tmplWidth = intval($tmplTools->getParam('ja_screen_width'));
$tmplWidth = $tmplWidth ? $tmplWidth.'%' : '90%';
break;
case 'fix':
$tmplWidth = intval($tmplTools->getParam('ja_screen_width'));
$tmplWrapMin = $tmplWidth ? ($tmplWidth+1).'px' : '751px';
$tmplWidth = $tmplWidth ? $tmplWidth.'px' : '750px';
break;
default:
$tmplWidth = intval($tmplTools->getParam(JA_TOOL_SCREEN));
$tmplWrapMin = $tmplWidth ? ($tmplWidth+1).'px' : '751px';
$tmplWidth = $tmplWidth ? $tmplWidth.'px' : '750px';
break;
}

$tmplTools->setParam ('tmplWidth', $tmplWidth);
$tmplTools->setParam ('tmplWrapMin', $tmplWrapMin);

//Main navigation
$ja_menutype = $tmplTools->getMenuType();
$jamenu = null;
if ($ja_menutype && $ja_menutype != 'none') {
$japarams = new JParameter('');
$japarams->set( 'menutype', $tmplTools->getParam('menutype', 'mainmenu') );
$japarams->set( 'menu_images_align', 'left' );
$japarams->set( 'menupath', $tmplTools->templateurl().'/ja_menus');
$japarams->set('menu_title', 0);

$jamenu = $tmplTools->loadMenu($japarams, $ja_menutype);
}

//End for main navigation

$layout = $tmplTools->getLayout ();
if ($layout) {
$tmplTools->display ($layout);
}

Но ... Он косячит когда включён у меня компонент WEBO Site SpeedUp.
При выключенном всё тип -топ
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Снёс ДжумФиш и получил непонятку
« Ответ #8 : 22.10.2010, 15:44:36 »
Ну вот как-то этот WEBO Site SpeedUp влияет видимо, но вот как - это вопрос. Что касается JA - у них типа свой шаблонный фреймворк, поэтому скорее всего нужные строки Вы найдете в папке layouts (если такой нету, то посмотрите в других). Там будет множество php файлов, и в одном из них будет искомое.
*

BAGRAM

  • Захожу иногда
  • 52
  • 1 / 1
  • не пинайте ботаников берцами
Re: Снёс ДжумФиш и получил непонятку
« Ответ #9 : 22.10.2010, 15:46:49 »
Большое спасибо за внимание к моему вопросу.
Более или менее теперь понятно что куда и зачем.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97139
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Как проверить форму обратной связи [Решено]

Автор mafiozzzza

Ответов: 8
Просмотров: 6856
Последний ответ 30.05.2017, 11:34:11
от darkghost
[Решено] Проблемка с якорями

Автор yarikk

Ответов: 6
Просмотров: 2016
Последний ответ 25.11.2016, 02:02:57
от yarikk
[Решено] Остаться на той же странице после авторизации

Автор dron

Ответов: 6
Просмотров: 3164
Последний ответ 30.11.2015, 14:07:27
от anoorik
(решено!) Белый экран при авторизации в Joomla

Автор pashaiglesias

Ответов: 8
Просмотров: 4909
Последний ответ 09.06.2015, 14:07:21
от pashaiglesias