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

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
И так, не знаю почему новичкам на форуме не в чем не помогают, но надеюсь в новоиспеченной теме все же кто нибудь и отзовется.
Начнем с того что раньше когда сайты были страшные и всем вообщем то привычные вывод особо ничего и не означал, то бишь как выводится и в каком виде, но время идет и потому сайты все равно приходят к определенным стандартам, например один вид превьюшки статьи, сейчас объясню подробнее.

Есть у меня блог категории и шаблон вывода таков: Метки материала; Заголовок материала; Атрибуты материала(автор, количество комментов, количество просмотров, дата публикации(создания, изменения); Картинка материала. (Понятно, что например, у многих есть и вводный текст и другие  атрибуты. Но это абсолютно не важно, ведь смысл в другом).).

Почему у Joomla 1,2,3 нету вывода всех этих пунктов в стандартных компонентах? 1,2 я могу понять старенькие версии и так далее, но 3 вышла сравнительно недавно поддерживает новые  функции например Bootstrap, но с выводом однотипных шаблонов та же фигня.
Например шаблон вывода результатов поиска. Это ужас не иначе  я могу вывести название  ну еще предварительный текст, а еще картинку, но как быть с тегами с моими атрибутами. Та же ситуация в компоненте меток, я понимаю он еще сырой, но если уж делать дак делать как следует.

Я тут распыляюсь конечно, но все же благодарен разработчикам и за новые версии и то что они бесплатны, А потому прошу помощи у людей куда более глубоко знающих Joomla чем я успел изучить ее за 5 лет. Как мне да и не только мне но и всем сидящим на этом форуме сделать стандартный вывод список материалов (такой как в блоге категории) в компоненте Поиска-Вывод результатов и в компоненте Метки-Список элементов.

Метки-Список элементов.
  • вывод у элемента его тегов(так как в блоге)
Код
<?php $tagsHelper = new JHelperTags; $tags = $tagsHelper->getItemTags('com_content.article', $item->content_item_id); if (!empty($tags)) : ?>
<?php $tagLayout = new JLayoutFile('joomla.content.tags'); echo $tagLayout->render($tags);?>
<?php endif; ?>
  • Как сделать вывод атрибутов?

Поиска-Вывод результатов
  • Как получить список меток?
  • Как сделать вывод картинки?
  • Как организовать вывод всех атрибутов?
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Походу дела форум стух окончательно.
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
используй конструктор контента. Вот где разгуляешься
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вам надо использовать фильтрацию, а не поиск. Хотя и поиск можно сверстать так-же как и блог категории, но для этого надо очень сильно поупражняться с поисковыми плагинами и макетом страницы поиска. В другом случае надо найти какой-нибудь cck, который полностью удовлетворит ваши запросы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон jm MyPlace - не воспроизводится видео

Автор THE KILLERS

Ответов: 2
Просмотров: 2185
Последний ответ 23.07.2024, 13:58:16
от THE KILLERS
Ошибка при входе в корзину шаблон jmart

Автор dimiur

Ответов: 5
Просмотров: 5050
Последний ответ 24.05.2023, 14:24:30
от Gleb72
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 3566
Последний ответ 03.05.2023, 22:54:19
от SmiP
Нужно ли переносить custom.css при переезде на новый шаблон?

Автор gorbi_U

Ответов: 3
Просмотров: 2895
Последний ответ 09.02.2023, 21:05:42
от marksetter
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5864
Последний ответ 13.09.2022, 11:14:56
от tuztref