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

pilotgta

  • Осваиваюсь на форуме
  • 19
  • 3 / 0
Привет всем. Подскажите пожалуйста по устройству главной страницы, так как не силен в сайтоустройстве.
Мой небольшой сайт про обзоры разной бытовой всячины. Сейчас главная страница на сайте это последний опубликованный материал, то есть главная постоянно меняет содержимое. Мне это не очень нравится, думаю, что поисковикам тоже, так как они постоянно видят, что у главной каждый раз разный текст.
Вопрос такой. Можно ли вверху главной разместить статический HTLM модуль с ключевыми словами о чем сайт, а  под ним оставить все ту же динамическую страницу с последними опубликованными материалами?
Правильно ли такое решение или убрать все это и сделать главную полностью отдельным статическим материалом? Буду благодарен за ответы.
« Последнее редактирование: 08.07.2023, 00:59:18 от pilotgta »
*

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
Цитировать
Сейчас главная страница на сайте это последний опубликованный материал, то есть главная постоянно меняет содержимое.
Ну, так она и должна менять содержимое: у вас ведь обзоры, а не лендинг.
Главную можно оформить как угодно: в виде блога с последними статьями, или в виде избранных материалов, или в виде лендинга, где не будет ни одной статьи, а только модули. Избранное - оптимальный вариант, оно позволяет выводить только те статьи, которые вы хотите. Остальные тоже будут доступны, но через меню.
*

pilotgta

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

Missile, спасибо за ответ. Да, теперь думаю оставить, но раз я так понимаю главную можно разбавить как угодно то позже все же добавлю модуль с описанием и ключами,  а ниже оставлю динамическую страницу с меняющимся материалом.  Просто кто-то  с поиска заходит на нужную статью и на главную не идет а кто-то заходит с главной, а у меня там то стиральная машина то газовый баллон)
Благодарю!
*

Missile

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

pilotgta

  • Осваиваюсь на форуме
  • 19
  • 3 / 0
Вы главную страницу можете оформить вообще как угодно - например, выводить статьи в модуле, а не в блоге. Взгляните, к примеру, на варианты различного оформления вот в этой демке от Joomlart.
Вот этот шаблон от той же Joomlart абсолютно бесплатный и подходит для Joomla 4. Он тоже весьма гибкий в плане настроек, имеет 5 готовых вариантов оформления главной.
Missile, спасибо.  хотя вопросы все равно остаются но главное, что теперь суть понятна.  Скачал этот шаблон, смотрю на локалке.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как правильно сделать авторизацию?

Автор creative3d

Ответов: 2
Просмотров: 171
Последний ответ 16.11.2025, 13:28:50
от creative3d
Ошибка БД при создании материала

Автор kunsaid

Ответов: 6
Просмотров: 1576
Последний ответ 29.10.2025, 19:36:49
от artem1977gri
Верхнее меню в версии для ПК как сделать на весь экран?

Автор web1

Ответов: 0
Просмотров: 158
Последний ответ 23.10.2025, 19:52:02
от web1
Как расположить заголовок материала в под фото в модуле?

Автор sergspb

Ответов: 6
Просмотров: 684
Последний ответ 02.10.2025, 19:18:18
от fbr
Получение объектов из материала(статьи) по ее id

Автор muzzy76

Ответов: 2
Просмотров: 744
Последний ответ 05.07.2025, 10:33:26
от muzzy76