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

Espoir

  • Новичок
  • 6
  • 0 / 0
Здравствуйте.
Я только начинаю постигать нелегкие азы программирования. Требуется ваш совет и помощь. Разрабатываю сайт на Joomla 1.5.х. Возникла следующая проблема. >:(
Необходимо реализовать такую систему меню приведенную на скриншоте.
При выборе модели в верхнем меню (например "Accord"),  загружается страница с наименованием данной модели, а также дополнительное меню с характеристиками ("Обзор модели","технические данные" и т.д.).
При выборе другой модели (например, "Jazz"), также загружается страница с наименованием данной модели, и  дополнительное меню с теми же характеристиками ("Обзор модели", "технические данные" и т.д.).
Соответственно и в том и в другом случае при выборе пункта дополнительного меню отображаются характеристики, принадлежащие выбранной модели.
Необходимо, чтобы дополнительное меню подключалось одинаковое для всех моделей и вело на соответствующий материал, но с помощью скрипта на  страницу подгружал те данные, которые относятся к выбранной модели в верхнем меню.
Я считаю не логичным создавать по отдельности каждый материал на каждую характеристику каждой модели, мне кажется, есть более красивые решения. Но за неимением опыта возникает вопрос, как и где в Joomla это реализовать? !!!???!!!


[вложение удалено Администратором]
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
По моему без JS (Ajax) никак не обойтись, тобишь стандартными средствами Joomla нельзя такое реализовать.
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
вообще в моём мозгу бытует мнение что за данный сайт вам прилично заплатят :)
а за "неимение опыта" нужно противопоставить "имение денег" - это я не к тому что деньги нужны, но к тому что это сделать можно только отдельно заточеным под этот сайт компонентиком, которого сейчас нету. (это если без перезагрузки тебе надо сделать)
*

Espoir

  • Новичок
  • 6
  • 0 / 0
Спасибо bzzik. ;)
Я код компонента и не просила. Я и сама разобравшись напишу его. Просто надеялась, что кто-то стакивался с подобной проблемой и знает примерно  либо с помощью каких технологий это реализовать, либо как это сделать стандартными средствами Joomla!, либо может видел кто подобные расширения для Joomla! ^-^
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
вот примерно так как тебе надо сделано: JQuery + модуль меню переписан и данные получает от компонентов (т.е. без модулей и всякой байды) - http://corporate.akadeti.ru/
там посмотри - без перезагрузки работают страницы.
*

Espoir

  • Новичок
  • 6
  • 0 / 0
Спасибо era.  ^-^
Пока все не очень понятно, но буду разбираться.  ::)
А кто-нибудь знает, как можно добавить переменную к URL вручную в Joomla!, и потом ее где необходимо считывать?
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
для твоего случая нужно наверное всё-таки модуль меню переписать + Ajax + компонентик который будет инфу вытягивать из базы и отдавать Ajax'у
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 8692
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3815
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 5466
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23939
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 4162
Последний ответ 01.03.2019, 11:12:18
от vasmed