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

Apollon

  • Захожу иногда
  • 289
  • 1 / 0
Собственно что конкретно нужно, видно на скринах. Именно нужна вставка в сам материал, а не гдето над, под или рядом с ним, при этом, чтобы можно было добавить (выводилась по дефолту из основной) картинка статьи. Не связанные материалы, и не похожие метки(потому что там нельзя добавить картинки, как я понял), но тянула на основе наверное меток.




*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вам нужен контент-плагин, который по шорткоду в теле материала будет возвращать необходимый контент в то место, куда прописан шорткод, писать его придется либо самому либо на заказ
*

Apollon

  • Захожу иногда
  • 289
  • 1 / 0
Вам нужен контент-плагин, который по шорткоду в теле материала будет возвращать необходимый контент в то место, куда прописан шорткод, писать его придется либо самому либо на заказ

Что ж такое, за что не возьмешься, готового нет. Вроде сайтов полно, кто все это юзает а готовые решения еще не придумали(.

Modules Anywhere + Related Items Extended.

С Anywhere сижу весь день, Related наверное хороший, но платный, нашел аналог, но что то он не выводится. Так что поиски продолжаются.
*

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
Что ж такое, за что не возьмешься, готового нет. Вроде сайтов полно, кто все это юзает а готовые решения еще не придумали(.
Они за этот функционал заплатили, а Вы хотите всё бесплатно - и чтобы выглядело при этом, как портал СМИ.
*

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
Что ж такое, за что не возьмешься, готового нет. Вроде сайтов полно, кто все это юзает а готовые решения еще не придумали(.

С Anywhere сижу весь день, Related наверное хороший, но платный, нашел аналог, но что то он не выводится. Так что поиски продолжаются.
За хорошие решения надо платить. Альтернатива - потратить время и изучить PHP и Joomla и написать бесплатно самому.
*

Apollon

  • Захожу иногда
  • 289
  • 1 / 0
Они за этот функционал заплатили, а Вы хотите всё бесплатно - и чтобы выглядело при этом, как портал СМИ.

С одной стороны да, а с другой, есть аналоги у всего, просто кто-то их знает, а кому то их приходится искать. И самое главное, у многих студий есть блоки расширений бесплатные, причем достаточно многофункциональные и нужные, не понятно, почему именно их они отдают бесплатно. Поэтому можно найти что угодно и не меньшего качества, вопрос во времени и усилиях, ибо не знаешь что и где искать.

Альтернатива - потратить время и изучить PHP и Joomla и написать бесплатно самому.

Я бы рад, с простым CSS каждый день спотыкаюсь, постоянно что-то нужно поменять, а времени этого как раз нет, поэтому иногда и приходится платить.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
сайтов, использующих это - тьма, но далеко не все они на J, имейте ввиду
*

Apollon

  • Захожу иногда
  • 289
  • 1 / 0
сайтов, использующих это - тьма, но далеко не все они на J, имейте ввиду

Я понимаю). Но благо дело Joomla развивается, может что найду, пока финансов на покупку нет, сначала продвинуть надо.
*

bb-pax

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
На самом деле используя стандартный модуль "похожие метки" эта задача решается довольно легко.
У самого возникла такая же задача - вывести похожие статьи с картинками сразу в конце текста.
После поисков плюнул и сделал сам за часик.
По шагам это выглядит примерно так:
1) Создаем новую позицию модуля - для этого правим файл вашего шаблона templateDetails.xml и в теге <positions> и добавляем свою позицию, например: <position>my-super-position</position>
2) Публикуем модуль "похожие метки" в этой позиции через менеджер модулей.
3) Теперь выводим модули этой позиции в нужном нам месте ручками, вставив этот код в нужное нам место:
Код
<?php
$modules = JModuleHelper::getModules('my-super-position');
if (count($modules)) :
$mod_renderer = JFactory::getDocument()->loadRenderer('module');
$mod_params = array();
foreach ($modules as $mod) echo $mod_renderer->render($mod, $mod_params);
endif;
?>
5) В модуле "похожие метки" (он называется mod_tags_similar) в файл helper.php добавляем джойн к таблице контента и выборку главной картинки.
6) Ну и переопределяем шаблон модуля "похожие метки", добавив туда вывод картинки с текстом: добавляем тег img. Я вывел текст поверх картинки - это делается стилями.

Если есть вопросы - задавайте, постараюсь ответить.
« Последнее редактирование: 26.05.2016, 14:39:52 от bb-pax »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ищу расширение 301 редиректов для Joomla 4

Автор azm1n

Ответов: 1
Просмотров: 1270
Последний ответ 04.05.2025, 22:41:05
от azm1n
Модуль вывода материалов

Автор alexandr-spb

Ответов: 3
Просмотров: 2892
Последний ответ 21.10.2023, 00:20:17
от shur
Бесплатное расширение для Турбо страницы Яндекс j1.5

Автор ivankoby

Ответов: 0
Просмотров: 2401
Последний ответ 03.06.2023, 13:15:35
от ivankoby
Расширение для вывода окна об использовании куков (Cookie)

Автор Александр32

Ответов: 0
Просмотров: 2669
Последний ответ 03.05.2023, 15:51:36
от Александр32
Ищу расширение типа tag meta для Joomla 4

Автор web1

Ответов: 2
Просмотров: 2243
Последний ответ 28.02.2023, 16:01:21
от sergeytolkachyov