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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Включена мультиязычность, главная страница имеет такие урлы:
домен/ru/
домен/en/
В шаблоне ссылка под логотип в таком формате <a href="<?php echo $this->baseurl ?>">... и если находиться на англ. варианте, то при клике происходит переход домен→домен/ru, а хотелось бы, чтобы посетитель оставался именно на англ. версии.
Подскажите, чего-то здесь не хватает или формирование самой ссылки не верно прописано?
Код
<?php defined( '_JEXEC' ) or die;
$baseUri = JUri::base();
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$menu = $app->getMenu();
$active = $app->getMenu()->getActive();
$params = $app->getParams();
$pageclass = $params->get('pageclass_sfx');
$tpath = $this->baseurl.'/templates/'.$this->template;
$this->setGenerator(null);
if (JLanguageMultilang::isEnabled())
{
$uris = array();
foreach (JLanguageHelper::getLanguages() as $lang)
{
$uris[$lang->lang_code] = JUri::base(). $lang->sef . '/';
}
$baseUri = $uris[JFactory::getLanguage()->getTag()];
}
?>

П.С. <base href> в коде страницы определяется правильно.
« Последнее редактирование: 21.05.2015, 20:29:50 от b2z »
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Актуально...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Сталкивался с подобной проблемой, по-моему надо просто слеш добавить (не уверен, не помню, но вроде должно помочь)
Код
<a href="<?php echo $this->baseurl ?>/">
ну или как вариант подставлять префикс языка по условию
« Последнее редактирование: 21.05.2015, 15:24:48 от neogeek »
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Код: html4strict
<a href="<?php echo $baseUri; ?>">
СПС. Работает
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4688
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 7423
Последний ответ 23.05.2023, 07:22:49
от geral
Разобраться с областью компонента в шаблоне

Автор gorbi_U

Ответов: 7
Просмотров: 2228
Последний ответ 04.02.2023, 10:45:14
от sivers
При обновлении плагина helix3 слетает сендвич в мобильном шаблоне

Автор gorbi_U

Ответов: 0
Просмотров: 1612
Последний ответ 25.01.2023, 10:55:44
от gorbi_U
Не сворачивается Offcanvas Menu Helix3, якорная ссылка. Landing Page - РЕШЕНО

Автор alekshavan

Ответов: 21
Просмотров: 4444
Последний ответ 15.10.2022, 10:18:46
от forsight