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

Misha-san

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Принцип работы меню такой. При переходе по пункту меню "Компания", открывается страница где с боку есть еще одно меню, фактически подраздел раздела меню "Компания".
При этом кнопка "Компания" - находится в "нажатом", активном состоянии. Но когда перехожу по ссылке подменю, кнопка "Компания" становится неактивной.
Нужно когда открыт подраздел раздела меню "Компания", чтобы кнопка "Компания" была активна.
Подскажите пожалуйста как можно их так связать?? ^-^
*

Robinson

  • Захожу иногда
  • 442
  • 72 / 1
Re: Подскажите как связать 2 меню!
« Ответ #1 : 06.07.2010, 09:45:11 »
Именно так и работают стандартные модули меню. Публикуй модуль меню "подраздел раздела" на пункте меню "Компания" в нужном месте - "с боку" и он будет появляться при клике на пункт меню "Компания". Все остальное также делается в стандартных настройках.
*

Professor

  • Захожу иногда
  • 59
  • 10 / 0
Re: Подскажите как связать 2 меню!
« Ответ #2 : 06.07.2010, 10:24:37 »
Сразу видно кто читает FAQ а кто не читает)
Как сделать связанные меню?
*

Misha-san

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Подскажите как связать 2 меню!
« Ответ #3 : 09.07.2010, 20:45:18 »
Спасибо большое за то что ткнули носом! Очень помогло!!

Re: Подскажите как связать 2 меню!
« Ответ #4 : 25.07.2010, 15:55:43 »
А как сделать, чтобы подменю (которое в другом месте сайта) было видно всегда ?
« Последнее редактирование: 25.07.2010, 17:01:04 от Oldegus »
*

gamletjlo

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
  • R U ready?
Re: Подскажите как связать 2 меню!
« Ответ #5 : 21.02.2011, 16:45:40 »
Как написано тут: http://joomlaforum.ru/index.php/topic,48469.0.html конечно можно использовать, если в других пунктах меню нет подпунктов(ибо в таком случае будут отображаться подпункты всех разделов). А если есть? И вам нужно вывести в другой позиции только подпункты одного раздела главного меню, как тогда поступить?

Re: Подскажите как связать 2 меню!
« Ответ #6 : 05.04.2011, 15:58:48 »
да, я все сделал как описано в FAQ, но при переходе на подпункт меню, оно пропадает, вместо того чтобы быть на месте с подсвеченым активным на данный момент подпунктом. Что не так?? Почему пропадает?

Разобрался. Нужно было через Ctrl выделить все подпункты заданного меню, где должно быть это подменю.
« Последнее редактирование: 05.04.2011, 16:51:37 от regman »
*

Antonyony

  • Новичок
  • 6
  • 0 / 0
Re: Подскажите как связать 2 меню!
« Ответ #7 : 03.06.2012, 21:43:12 »
Хороший способ описан в FAQке!

А как бы выкрутиться в следующем случае:
-в главном горизонтальном меню, для основных пунктов меню (Новости; База знаний и пр.)

выбран "Разделитель"?Случай, когда обходишься без "шаблона блога категории".
Т.е. нужно выбрать один из вложенных пунктов "Производство"; "Вокруг авто" , чтобы попасть внутрь категории "Новости"

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

Antonyony

  • Новичок
  • 6
  • 0 / 0
Re: Подскажите как связать 2 меню!
« Ответ #8 : 04.06.2012, 17:32:23 »
Пожалуй, непонятно написал.
Постараюсь пояснить примером. На сайте vniibt-bi.ru , если щелкнешь на пункте меню "Продукция", то сразу попадешь в один из подпунктов "Винтовые забойные...". При этом везде есть подсветка.
Подскажите , пожалуйста, как реализовать такое же связанное меню?
*

Antonyony

  • Новичок
  • 6
  • 0 / 0
Re: Подскажите как связать 2 меню!
« Ответ #9 : 04.06.2012, 17:47:33 »
Поразмышлял... Появились идеи...
В принципе, можно выкрутиться следующим способом. Выбрать в качестве типа пункта меню "Внешняя ссылка", которая будет вести на нужный пункт связанного меню.
Но, пока сайт не залит на хостинг, ссылки будут иметь вид http://localhost/имя_сайта/products/***
А после заливки придется все ссылки вручную переделывать в вид: http://lимя_сайта/products/***

Как вариант, конечно. Но может есть альтернатива этому способу?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вытащить главное меню из шаблона

Автор Леон

Ответов: 2
Просмотров: 1814
Последний ответ 18.05.2015, 15:40:18
от Леон
Редактировать меню сайта

Автор sanin25

Ответов: 6
Просмотров: 2040
Последний ответ 10.04.2015, 18:40:19
от sanin25
Привязка плагина к пункту меню

Автор rudoy24

Ответов: 0
Просмотров: 1400
Последний ответ 28.10.2014, 14:41:38
от rudoy24
[РЕШЕНО] Абсолютные ссылки в меню

Автор css_ufa

Ответов: 1
Просмотров: 2789
Последний ответ 24.06.2014, 11:31:28
от djfactory
top-menu не открывается

Автор vityatir

Ответов: 1
Просмотров: 1588
Последний ответ 02.03.2014, 13:29:49
от Efanych