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

Alekssandr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте уважаемые форумчане. Подскажите пожалуйста как можно скрыть подпункты меню, но чтобы материал был доступен при переходе по ссылке на этот подпункт, материал отображался? Объясню:
Как есть
Главное меню>Меню>Меню с материалом1
                               Меню с материалом2
                               Меню с материалом3
Как нужно
Главное меню>Меню "ссылка" на метериал1
Главное меню>Меню "ссылка" на метериал2
Главное меню>Меню "ссылка" на метериал3

Снимаю с публикации Меню с материалом, ссылки не работают. Как то нужно убрать "подпункт меню с материалом" но чтобы ссылки на материал отображался в этом подпункте меню

ps прошу прощенья подругому объяснить не получается
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
что-то я 2 раза прочитал и мозг начал ломаться ))
лучше бы ссылку на сайт, чем писать про меню подменю.

обычно делают пункт меню типа "блог категории", материалы категории автоматически получают нормальные адреса и нет необходимости  делать подпункты
*

Alekssandr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Прочитал сам не понял))))
Вкладка Информация, нужно убрать его подпукты, но материал чтобы открывался
« Последнее редактирование: 25.02.2016, 19:56:21 от Alekssandr »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну совет выше дан.
пункт меню "информация" делаешь типом "список материалов категории"
подпункты удаляешь.
*

Alekssandr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Благадарю за ответ и за оперативность!!
*

Ricka

  • Новичок
  • 1
  • 0 / 0
В чем-то похожая проблема.
Есть сайт, в верхнем меню список страниц (их там очень много), когда деактивирую пункт меню, который не должен отображаться наверху, вся страница становится недоступной.
Помогите сделать так, чтобы материалы все были доступны, но при этом их не надо было крепить в верхнее или любое другое меню. Материалы должны быть доступны по ссылкам в самом содержимом Главной страницы, там что то типа навигации по основным разделам большими иконками.
http://joxi.ru/p27bP6nh0wl6bm
как неправильно - зачеркнуто, как правильно - стоит зеленая галочка, но те иконки, которые не дублируются в верхнем меню - не работают (ошибка 404)
*

fbr

  • Завсегдатай
  • 1681
  • 210 / 7
Создаете меню, но не публикуете его в модуле.
В верхнем меню для пунктов назначаете "псевдоним пункта меню" из созданного ранее скрытого меню
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А не проще в модуле меню указать нужные уровни показа? Поставить от 1 до 1 чтобы не показывать подпункты.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Лично я делаю 3 меню, например hidden, links и main. В hidden создаю пункты меню для скрытых и служебных страниц, типа 404 и т.п. В links создаю структуру с нужными типами пунктов и уровнями вложенности и это же меню использую в сайтмапе. А в main (их может быть сколько угодно) делаю меню для отображения на сайте и тип пунктов меню выбираю "псевдоним пункта".
В результате и структура нормальная и дублировать ничего не нужно... Если нужно совсем убрать страницу - выключаю в обоих меню, а если нужно только в меню на сайте скрыть, но по ссылке оставить - убираю в main... Как-то так. Уже лет 5 так делаю, лучшего варианта пока не видел.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка видео в Материал

Автор VIK4

Ответов: 10
Просмотров: 523
Последний ответ 03.11.2025, 08:18:22
от wishlight
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 1250
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1465
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1637
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 7164
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS