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

naumov13

  • Новичок
  • 2
  • 0 / 0
Здравствуйте.

Задача такая - отображать некий блок с содержимым только на страницах с материалами, которые относятся к категории "Новости".

Категорию "Новости" уже создал. Материалы с этой категорией тоже. И пункт меню На эту категорию.

Блок планирую организовать как модуль типа "Произвольный HTML-код". Стандартные средства позволяют выбрать пункты меню, на которых модуль будет отображаться (Назначение меню).

Если указать там мой пункт меню "Новости", блок будет отображается только на странице списка новостей. Но после переходе по ссылке к конкретной новости, как я и ожидал, блок не отобразился.

Есть ли какое-нибудь расширение или стандартная возможность указать категорию для модуля? Что-то типа "Назначение категории"? Так чтобы я видел этот блок на любой новости?

Спасибо.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
назначить тип пункта меню Категория (шаблон списка категории) - не получается?
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

naumov13

  • Новичок
  • 2
  • 0 / 0
alex0013, Спасибо за подсказку.
Получается немного не то, что я ожидал, но я понял направление, в котором искать :)

Тип пункта меню "шаблон блога категории" немного больше подходит (по тому как он подает материалы). И думаю, если поиграться с настройками отображения материалов, то смогу получить то что нужно.

Несколько обескураживает тот факт, что все эти настройки ориентированы на вид ссылки. Стоило вырезать часть параметров, которые я посчитал мусором, оставив только тип просмотра и id материала, и модуль перестал отображаться.
Видимо, расчет на то, что пользователи будут просто тыкать по ссылочкам, а не экспериментировать с набором адресов вручную.
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
эту ссылку надо в FAQ уже заносить
Advanced Modules Manager
http://nonumber.nl
+
*

pantela

  • Захожу иногда
  • 257
  • 1 / 0
А чем Advanced Modules Manager лучще и чем хуже? Нагружка не большая будет сним?

Установил, только не очень понял как сним работать, как мне напр, указать внём в коких разделах, или категориях, или материалах выводить модуль... :(
« Последнее редактирование: 27.11.2010, 13:32:26 от pantela »
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Что значит, чем он лучше? лучше, чем что? Это, по-моему, вообще единственный плагин, который позволяет ТАК управлять модулями.

А что в нем непонятного? он же даже на русском : )

Правда с последним релизе на одном из сайтов проблемы. то ли из-за использования webo, то ли  не знаю, версия 1.14 работает нормально. Надо будет еще на другом сайте проверить.
+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как поменять основные цвета модуля

Автор aisedora21

Ответов: 7
Просмотров: 4697
Последний ответ 24.06.2021, 20:23:06
от Moysha
Для чего нужны разделы и категории?

Автор lost

Ответов: 10
Просмотров: 7100
Последний ответ 26.04.2021, 15:12:31
от altvvc
Как вывести все категории всех разделов на одной странице?

Автор genius

Ответов: 4
Просмотров: 2305
Последний ответ 22.01.2019, 08:38:30
от genius
Как сделать отображение третьего и далее уровней меню?

Автор Hloja_Blimm

Ответов: 12
Просмотров: 2205
Последний ответ 24.11.2017, 15:12:04
от Hloja_Blimm
Ошибка 502 Bad Gateway на нескольких страницах

Автор Elimelech

Ответов: 1
Просмотров: 1869
Последний ответ 30.06.2017, 22:36:18
от ProtectYourSite