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

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Здравствуйте.
В адмнке присвоил новости позицию -1 в списке, и там она остается на первом месте при добавлении новых новостей. Но на сайте она все равно съезжает вниз. Приходится каждый раз редактировать дату создания новости, чтобы она оставалась наверху. Может есть способ закрепить ее там навсегда?
Заранее благодарю.
*

reg-ad-site

  • Захожу иногда
  • 410
  • 14 / 3
  • Если помог, ставь +
Re: Как оставить новость на 1 месте
« Ответ #1 : 22.10.2010, 11:22:28 »
А менеджер главной пробоали?
*

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как оставить новость на 1 месте
« Ответ #2 : 22.10.2010, 11:44:23 »
Извините, сайт создавал не я. Сам я в этом деле новичек. Если Вы имели в виду менеджер главной страницы, то у меня там пусто. А новости хранятся в отдельном разделе. По умолчанию, как я понял, они сортируются на сайте по дате создания. Можно ли создать исключение для одной из них?
*

mr.s0uc3

  • Захожу иногда
  • 226
  • 16 / 0
Re: Как оставить новость на 1 месте
« Ответ #3 : 22.10.2010, 12:22:15 »
если я не ошибаюсь, есть функция "прикрепить" новость
*

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как оставить новость на 1 месте
« Ответ #4 : 22.10.2010, 12:49:27 »
Укажите, пожалуйста, где найти такую функцию.
*

mr.s0uc3

  • Захожу иногда
  • 226
  • 16 / 0
Re: Как оставить новость на 1 месте
« Ответ #5 : 22.10.2010, 12:53:27 »
ИСПОЛЬЗОВАНИЕ МОДУЛЯ
Можно в шаблоне сайта, перед компонентной областью (mainbody), зарезервировать область для публикации модулей и в ней опубликовать пользовательский модуль с произвольным содержимым. Если все правильно сделано, содержимое модуля будет отображаться над всеми новостями главной страницы. Данное решение подойдет для добавления на сайт приветствия или обращения к посетителям.

минусы:
— поиск по сайту не будет учитывать содержимое этого модуля
— нет возможность задать даты начала и завершения публикации

ИСПОЛЬЗОВАНИЕ ПАРАМЕТРОВ СОРТИРОВКИ
Порядок отображения может зависеть не только от самих материалов, но и от категорий, в которых они опубликованы. Поэтому можно создать специальную категорию, для фиксируемых новостей, включить сортировку материалов по категориям и настроить порядок отображения категорий. Далее приводим пошаговую инструкцию:

Авторизуемся в административной панели
Создаем новую категорию для новостей которые мы будем отображать на главной странице первыми
В списке категорий в поле Порядок для для этой категории ставим -1
Нажимаем на картинку с дискеткой (в заголовке таблицы с категориями рядом со словом Порядок)
Выбираем пункт Меню->mainmenu
Выбираем в списке Главная и нажимаем кнопку Изменить (Edit)
Справа в параметрах главной страницы параметру Сортировка категорий устанавливаем значение Сортировать
Нажимаем кнопку Сохранить

НАЗНАЧЕНИЕ ПОЗИЦИИ МАТЕРИАЛА
Данный способ, как мне кажется, самый простой. Для того чтобы зафиксировать какой-либо материал на главной странице сайта необходимо выполнить следующие действия:

Авторизуемся в административной панели
Выбираем пункт меню Материалы->Материалы на главной
В списке материалов опубликованных на сайте выбираем материал
В поле Порядок для этого материала ставим -1
Нажимаем на картинку с дискеткой (в заголовке таблицы с материалами рядом со словом Порядок)
Использование отрицательных значений в поле Порядок, дает возможность зафиксировать не один, а несколько материалов. Это может быть весьма полезно например при публикации платных объявлений.

минусы:
— данный способ не будет работать если в параметрах главной страницу в качестве параметра сортировки указана например дата или заголовок материала.
*

mr.s0uc3

  • Захожу иногда
  • 226
  • 16 / 0
Re: Как оставить новость на 1 месте
« Ответ #6 : 22.10.2010, 12:55:30 »
Все сделали, как написано, а сортировка не происходит. Не закрепляется материал наверху страницы и все. Хоть головой о стену бейся. Не стоит. Посмотрите сколько у Вас меню. Нередко бывает два меню, см. например, http://earningsinternet.ru. Верхнее Joomla! меню отчасти, дублирует боковое Joomla! меню. Чтобы сортировка произошла надо в ОБОИХ меню изменить порядок сортировки. До тех пор пока хотя бы в одном из меню стоит «По умолчанию», сортироваться статьи Joomla! будут по умолчанию.
*

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как оставить новость на 1 месте
« Ответ #7 : 25.10.2010, 10:05:41 »
mr.s0uc3
Спасибо, теперь новость в разделе наверху. Но тепеь она не отображается на главной. Подскажите, пожалуйста, как ее туда вытащить.
Это главная, хотелось бы чтобы она была перед новостями. Напомнаю, сайт создавал не я. :)

*

mr.s0uc3

  • Захожу иногда
  • 226
  • 16 / 0
Re: Как оставить новость на 1 месте
« Ответ #8 : 25.10.2010, 11:18:57 »
поставь в настройках "на главной" поставь ДА
*

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как оставить новость на 1 месте
« Ответ #9 : 25.10.2010, 13:32:51 »
Все, разобрался. Оказывается новости на главную страницу выодил модуль mod_minifrontpage. :)
Всем большое спасибо!
*

Mr.T

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как оставить новость на 1 месте
« Ответ #10 : 25.10.2010, 13:57:09 »
Когда ставишь галочку на "на главной" он закидывает новость на самый верх, нед приветственным словом. Плюс пытается вставить картинку, которой не сущесвует. Вместо нее белый квадрат с красным крестиком в верхнем правом углу.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать.html у разделов и оставить у конечных страниц?

Автор Леонид

Ответов: 0
Просмотров: 1564
Последний ответ 17.04.2015, 05:03:37
от Леонид
WMT Like It Plugin выводит лайки в ненужном месте \ Joomla 1.5

Автор Mesuti

Ответов: 1
Просмотров: 1689
Последний ответ 02.12.2014, 06:36:18
от Mesuti
Как убрать пустоту на месте модуля. Нужна помощь в PHP?

Автор Good_user

Ответов: 12
Просмотров: 1860
Последний ответ 14.05.2014, 20:12:11
от Good_user
Как убрать пустоту на месте модуля. Нужна помощь в PHP?

Автор Good_user

Ответов: 0
Просмотров: 1075
Последний ответ 09.05.2014, 03:18:24
от Good_user
Как убрать надпись "Readmore" и оставить заголовок как ссылка?

Автор steinert

Ответов: 4
Просмотров: 4248
Последний ответ 22.03.2014, 07:32:35
от Sabia