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

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Используется шаблон блога категории. Как сделать так, чтобы нужный мне элемент (например баннер) располагался на странице с нужным мне материалом, а не во всех материалах категории? Вставлять в статью - не вариант! Нужно расположить его в одной из позиций шаблона.
Надеюсь, я понятно выразился... Всем заранее спасибо.
*

2s-mode

  • Захожу иногда
  • 202
  • 12 / 0
  • Вам ответ, мне +1.
Используется шаблон блога категории. Как сделать так, чтобы нужный мне элемент (например баннер) располагался на странице с нужным мне материалом, а не во всех материалах категории? Вставлять в статью - не вариант! Нужно расположить его в одной из позиций шаблона.
Надеюсь, я понятно выразился... Всем заранее спасибо.


А в чем проблема вставки позиции с модулем в материал?
Хочешь жить?? умей работать!!!!
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Я наверное неправильно выразился...
Я создаю новый модуль, и хочу выставить его показ только в одном необходимом мне материале. А при выборе в "Назначение меню" в настройках модуля нет вообще материалов из блога категории. Там есть только сами категории и есть материалы, использовавшие стандартный шаблон материала. Только из них можно выбрать.
Вот я и спрашиваю, как мне выбрать материал из блога категории.
*

2s-mode

  • Захожу иногда
  • 202
  • 12 / 0
  • Вам ответ, мне +1.
Я наверное неправильно выразился...
Я создаю новый модуль, и хочу выставить его показ только в одном необходимом мне материале. А при выборе в "Назначение меню" в настройках модуля нет вообще материалов из блога категории. Там есть только сами категории и есть материалы, использовавшие стандартный шаблон материала. Только из них можно выбрать.
Вот я и спрашиваю, как мне выбрать материал из блога категории.
А в чем проблема вставки позиции с модулем в материал?
А я про это и не говорил.  Я говорил про вставку позиции с модулей в материал т.е. {loadposition имяпозиции} .
Хочешь жить?? умей работать!!!!
*

dynamit

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

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
А в чем проблема вставки позиции с модулем в материал?
А я про это и не говорил.  Я говорил про вставку позиции с модулей в материал т.е. {loadposition имяпозиции} .
Тогда в материале появляется тот модуль. А он мне не нужен в материале, он мне нужен на своей позиции, но только на конкретной одной странице.
*

2s-mode

  • Захожу иногда
  • 202
  • 12 / 0
  • Вам ответ, мне +1.
Ну тогда привязка к пунктам меню. Создаете какое-нибудь левое меню в нем  пункт с нужным вам материалом. Публикуете его.
Для того модуля который нужно выводить для определенных материалов, ставите привязку к пунктам меню..
Хочешь жить?? умей работать!!!!
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
Ну тогда привязка к пунктам меню. Создаете какое-нибудь левое меню в нем  пункт с нужным вам материалом. Публикуете его.
Для того модуля который нужно выводить для определенных материалов, ставите привязку к пунктам меню..
Это да, я тоже так думал, но тогда получаются дубли...
Та страница, что открывается через это созданное меню будет иметь адрес сайт.ру/материал
А та страница, что открывается с блога категории имеет вид сайт.ру/категория/материал
А это плохо для поисковой оптимизации...
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
ставьте ModulesAniwhere
А как его ставить? Ошибку выдает:
JInstaller::install: Файл X:\home\localhost\www\project\tmp\install_4d359897d3484\ModulesAnywhere-v1.9.2_language_ru-RU\ru-RU.plg_system_modulesanywhereinc.php не существует
*

2s-mode

  • Захожу иногда
  • 202
  • 12 / 0
  • Вам ответ, мне +1.
Это да, я тоже так думал, но тогда получаются дубли...
Та страница, что открывается через это созданное меню будет иметь адрес сайт.ру/материал
А та страница, что открывается с блога категории имеет вид сайт.ру/категория/материал
А это плохо для поисковой оптимизации...

Например в компоненте sh404SEF, можно поставить, чтобы показывало категорию.
Но есть вероятность того что будет так, но точно не знаю...
сайт.ру/категория/материал
сайт.ру/категория/категория/материал

Попробуйте...)))
Хочешь жить?? умей работать!!!!
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
Попробуйте...)))
Я использую стандартный SEF... Не хотелось бы так все усложнять)). Может кто знает решение попроще?
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Ну куда уж проще то? Кто мешает потом в robots внести запрет на индексацию ссылки?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
Ну куда уж проще то? Кто мешает потом в robots внести запрет на индексацию ссылки?
Время внести ясность. Открою Вам, для чего мне это нужно)).
Хочу продавать ссылки и заметки навсегда через getgoodlinks. Особенность этой биржи - все это делается вручную.
Например, продам я так 100 заметок со 100 страниц. Соответственно появится у меня 100 дублей, которые нужно запретить. Это ж ни фига себе, какой у меня роботс получится...
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Так, и в итоге сто модулей? В каждом одна ссылка?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Более умного я ничего не придумал
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Вот не верится мне что нету никакого решения тут. Поделитесь, пожалуйста!
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Ставьте ссылками в материалы, зачем плодить сотни модулей?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

TIGRA

  • Захожу иногда
  • 72
  • 0 / 0
Цитировать
Ставьте ссылками в материалы, зачем плодить сотни модулей?
Похоже, что так и придется делать. Просто красивее это смотрится, когда в отдельном модуле...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изображение-ссылка в материале

Автор Omedius

Ответов: 4
Просмотров: 2493
Последний ответ 02.07.2017, 21:11:10
от vipiusss
Как размещать h1 в header в материале?

Автор kirill-juk

Ответов: 12
Просмотров: 3076
Последний ответ 02.11.2016, 15:56:51
от kirill-juk
Появление элемента на странице которого не должно быть - откуда?

Автор sergey113

Ответов: 1
Просмотров: 1752
Последний ответ 29.03.2016, 02:08:24
от sergey113
Как применить атрибут size для элемента select в модуле simpleform 2?

Автор Loh

Ответов: 5
Просмотров: 2010
Последний ответ 06.06.2015, 13:44:28
от motokraft
Сайт на Joomla 1.5, не открываются страницы, только главная

Автор miller_king

Ответов: 2
Просмотров: 1686
Последний ответ 18.05.2015, 16:50:50
от darkghost