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

Михаил Лучшев

  • Новичок
  • 5
  • 0 / 0
Приветствую. При поиске конфликта плагинов отключил абсолютно ВСЕ плагины, в следствие чего и сайт. и панель администратора белые. Вопрос - как включить  плагины, НЕ используя панель админа и различные утилиты? Можно ли через редактирование php файлов аутентификации Joomla на хостинге снова получить доступ к админской панели и так далее. На всякий случай есть бэкап, но опять же не знаю как без админской панели восстановиться к моменту, когда плагины были включены. Заранее спасибо, только начинаю работать с Joomlой и вообще сайтами. ^-^
« Последнее редактирование: 12.07.2022, 05:39:39 от Михаил Лучшев »
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
без phpMyAdmin никак.
бэкап так де без панели управления хостингом не разверннте.
а зачем все отключали то?
отключать надо только те что сами ставили
индивидуальная помощь: @SetAlexx
*

Михаил Лучшев

  • Новичок
  • 5
  • 0 / 0
без phpMyAdmin никак.
бэкап так де без панели управления хостингом не разверннте.
а зачем все отключали то?
отключать надо только те что сами ставили
Начались конфликты плагинов, по логам нашёл те, которые конфликтуют, но по глупейшей ошибке отключил абсолютно всё. Какие данные от MySQL необходимо знать, чтобы установить phpMyAdmin?
*

Михаил Лучшев

  • Новичок
  • 5
  • 0 / 0
Начались конфликты плагинов, по логам нашёл те, которые конфликтуют, но по глупейшей ошибке отключил абсолютно всё. Какие данные от MySQL необходимо знать, чтобы установить phpMyAdmin?
Всё, забудьте. Смог зайти в phpMyAdmin. Теперь как написать запрос, чтобы все плагины включились? Ну или как это сделать вручную, в какой файл заходить и какой параметр на что менять?
« Последнее редактирование: 12.07.2022, 07:51:57 от Михаил Лучшев »
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
в таблице extentions
индивидуальная помощь: @SetAlexx
*

Михаил Лучшев

  • Новичок
  • 5
  • 0 / 0
в таблице extentions
Включил снова все плагины, но теперь сайт выдаёт  ошибку, что в файле SiteApplications.php в сроке 517 не может быть использовано для чтения [].
Код выглядит следующим образом:
Код
// Load styles
$db = \JFactory::getDbo();
$query = $db->getQuery(true)
->select('id, home, template, s.params')
->from('#__template_styles as s')
->where('s.client_id = 0')
->where('e.enabled = 1')
->join('LEFT', '#__extensions as e ON e.element=s.template AND e.type=' . $db->quote('template'). ' AND e.client_id=s.client_id');

$db->setQuery($query);
$templates = $db->loadObjectList('id');

foreach ($templates as &$template)
{
// Create home element
if ($template->home == 1 && !isset($template_home) || $this->_language_filter && $template->home == $tag)
{
$template_home = clone $template;
}

$template->params = new Registry($template->params);
}

// Unset the $template reference to the last $templates[n] item cycled in the foreach above to avoid editing it later
unset($template);

// Add home element, after loop to avoid double execution
if (isset($template_home))
{
$template_home->params = new Registry($template_home->params);
$templates[0] = $template_home;
}

$cache->store($templates, $cacheId);
}
if (isset($templates[$id]))
{
$template = $templates[$id];
}
else
{
$template = $templates[];
}

Жалуется на выражение $template=$templates[]; (в конце кода после else)
При этом в файле при чистой установке джумлы значение в квадратных скобках стоит ноль, но при изменении выходит похожая ошибка.
« Последнее редактирование: 13.07.2022, 01:24:39 от Михаил Лучшев »
*

sivers

  • Живу я здесь
  • 2596
  • 360 / 0
Скорее всего там вместо:
$template = $templates[];
должно было быть:
$template = $templates[0];
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Михаил Лучшев

  • Новичок
  • 5
  • 0 / 0
Нет, это не помогло. Он ругался и на 0, и на 1 в скобках.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите с БАГом в панели администратора Joomla 3

Автор akteon25

Ответов: 2
Просмотров: 2163
Последний ответ 26.02.2025, 16:41:56
от akteon25
Пропала база данных в phpMyAdmin

Автор kazbec

Ответов: 3
Просмотров: 1569
Последний ответ 16.11.2023, 22:59:54
от Vastriet
Выходит ошибка в админской панели

Автор daymarus

Ответов: 0
Просмотров: 2045
Последний ответ 10.08.2023, 12:43:43
от daymarus
Некоторые плагины и темы не работают на другой версии php

Автор max.slanskii

Ответов: 1
Просмотров: 989
Последний ответ 28.07.2023, 00:11:47
от sivers
SEO плагины для Яндекс

Автор Ася К.

Ответов: 8
Просмотров: 1236
Последний ответ 16.02.2022, 12:21:28
от draff