Новости 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 Ответов
  • 1725 Просмотров
*

Andry

  • Новичок
  • 8
  • 0 / 0
Меню в Cassiopeia
« : 22.05.2022, 14:45:16 »
Добрый день, прошу совета.
Не могу разобраться как в Joomla Cassiopeia лучше реализовать схему меню в разветвленном многостраничнике.
Ситуация такая:
Есть боковое меню (mainmenu) из 6 пунктов:
1 родительский для 2-го,
2 для 3-го,
3 для 4-го, 5-го и 6-го.
Начиная с 3 уровня меню начинает разветвляться. Для наглядности прикладываю схему.
На первый взгляд самый логичный вариант — начиная с 3-го уровня использовать отдельный модуль для каждого раздела. Но тогда разваливается Breadcrumbs, т.к. для первого уровня нового модуля невозможно указать родительским 2-й пункт основного меню, с которого начинается разветвление.
Другой вариант — сделать модуль-шаблон универсальным, вписав в него абсолютно все пункты, и в каждой ветке показывать только нужные, а остальные сделать невидимыми. Технически почти неиспоним и нерационален, т.к. на 3 уровне веток может быть очень много, а уровни/пункты 4, 5, 6 для каждой ветки свои. Таким образом,  в этом универсальном модуле окажется безумное количество пунктов, что, конечно, неприемлемо.
Я в чем-то не разобрался? Что подскажите?
« Последнее редактирование: 22.05.2022, 19:13:43 от Andry »
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Меню в Cassiopeia
« Ответ #1 : 22.05.2022, 16:03:23 »
4,5,6 материалы?
индивидуальная помощь: @SetAlexx
*

Andry

  • Новичок
  • 8
  • 0 / 0
Re: Меню в Cassiopeia
« Ответ #2 : 22.05.2022, 16:29:17 »
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Меню в Cassiopeia
« Ответ #3 : 22.05.2022, 17:39:01 »
так может их через табы и допполя?
меньше гемора с меню
индивидуальная помощь: @SetAlexx
*

Andry

  • Новичок
  • 8
  • 0 / 0
Re: Меню в Cassiopeia
« Ответ #4 : 23.05.2022, 01:46:21 »
Спасибо, marksetter!
Допполя, я правильно вас понял, т.е. на странице 3-го уровня ставить просто ссылки на следующие страницы? И с них обратные наверх?
Нет, это не подходит, т.к. там тоже могут быть небольшие разветвления. Ну и в целом как-то несерьезно, имея такой мощный инструмент как Joomla, решать простейшие вопросы таким способом. Я впервые с Joomla работаю, все же думаю должно быть какое-то более элегантное решение ) Не думал, что на такой элементарной фигне стопорнусь.
Отдельно бесит, что название модуля (например, МайнМеню) раз уж оно отображается на сайте как крупный заголовок, нельзя сделать пунктом меню. По сути он уже указывает, что ты на главной, но нет, блин, нужен еще обязательный пункт Home, и уже от него как от родительского создавать новые пункты, которые сдвигаются вправо и получаются более мелким шрифтом, хотя в этом столбике могли быть на первом уровне.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как в мобильной версии сайта модуль Меню подвинуть в самый верх?

Автор web1

Ответов: 4
Просмотров: 2111
Последний ответ 06.04.2025, 09:22:54
от wishlight
На сайте не виден вложенный пункт меню

Автор Alex45

Ответов: 7
Просмотров: 2477
Последний ответ 28.12.2023, 12:56:28
от Alex45
Helix Ultimate - offcanvas меню

Автор Alex_gs

Ответов: 1
Просмотров: 2508
Последний ответ 15.08.2023, 16:42:16
от Vastriet
Ошибка шаблона сайта «Cassiopeia» на Joomla 4

Автор vk_66

Ответов: 4
Просмотров: 3485
Последний ответ 29.01.2023, 12:54:47
от SDN67
Как сделать свойства позиции banner для позиции bottom-a? в Cassiopeia

Автор mcsidpilot

Ответов: 0
Просмотров: 2746
Последний ответ 24.12.2022, 16:27:15
от mcsidpilot