Новости 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 Гость просматривают эту тему.
  • 30 Ответов
  • 9859 Просмотров
*

Анюта М

  • Новичок
  • 5
  • 0 / 0
Re: Меню с переносом строки
« Ответ #30 : 17.02.2012, 19:57:37 »
Спасибо за наводку на Sourcerer, отлично заработало в меню!
Теперь возникла та же проблема с хлебными крошками, я почитала ваши умные посты, но я вот прям совсем не разбираюсь в php. Не мог бы кто-нибудь объяснить для чайника что я и куда должна дописать?
Код файла helper.php в хлебных крошках у меня такой:

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

class modBreadCrumbsHelper
{
function getList(&$params)
{
global $mainframe;

// Get the PathWay object from the application
$pathway =& $mainframe->getPathway();
$items   = $pathway->getPathWay();

$count = count($items);
for ($i = 0; $i < $count; $i ++)
{
$items[$i]->name = stripslashes(htmlspecialchars($items[$i]->name));
$items[$i]->link = JRoute::_($items[$i]->link);
}

if ($params->get('showHome', 1))
{
$item = new stdClass();
$item->name = $params->get('homeText', JText::_('Home'));
$item->link = JURI::base();
array_unshift($items, $item);
}

return $items;
}

/**
  * Set the breadcrumbs separator for the breadcrumbs display.
  *
  * @param string $custom Custom XHTML complient string to separate the
  * items of the breadcrumbs
  * @return string Separator string
  * @since 1.5
  */
function setSeparator($custom = null)
{
global $mainframe;

$lang =& JFactory::getLanguage();

/**
* If a custom separator has not been provided we try to load a template
* specific one first, and if that is not present we load the default separator
*/
if ($custom == null) {
if($lang->isRTL()){
$_separator = JHTML::_('image.site', 'arrow_rtl.png');
}
else{
$_separator = JHTML::_('image.site', 'arrow.png');
}
} else {
$_separator = $custom;
}
return $_separator;
}
}
« Последнее редактирование: 17.02.2012, 20:44:29 от Анюта М »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 8692
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3815
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 5466
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23939
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 4162
Последний ответ 01.03.2019, 11:12:18
от vasmed