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

nightbeast

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Привет.

сайт периодически падает. выяснилось, что очень много запросов по адресу: хттп://сайт/index.php?format=feed&type=rss

по этому адресу лежит лента новостей. всех новостей за пять лет. весит она 4 метра. самое интересное, что я понять не могу - откуда она там взялась? стандартный RSS выключен, пользуюсь Joomlaпаблишер. как выпилить эту ссылку ума не приложу. пробовал 301 редирект ей задать, но почему-то не работает этот способ. что можно сделать, чтобы никто по этой ссылке не ходил? Ничего хорошего по этому вопросу не нагуглил (

Спасибо.
« Последнее редактирование: 07.10.2016, 12:57:01 от nightbeast »
*

1-F7

  • Захожу иногда
  • 197
  • 2 / 0
Может RSS грабером воруют контент.
*

nightbeast

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Может RSS грабером воруют контент.

как это убрать-то? есть идеи?)
*

1-F7

  • Захожу иногда
  • 197
  • 2 / 0
Отключить RSS
*

nightbeast

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Отключить RSS

так в том и дело, что отключил. по ссылке эта хрень все равно есть.
*

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
Цитировать
так в том и дело, что отключил
Если по ссылке хттп://сайт/index.php?format=feed&type=rss лента открывается - значит, не отключил.
Проверьте ещё проверить пункт меню "главная" - Настройки интеграции - Ссылка на ленту новостей.
*

nightbeast

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Если по ссылке хттп://сайт/index.php?format=feed&type=rss лента открывается - значит, не отключил.
Проверьте ещё проверить пункт меню "главная" - Настройки интеграции - Ссылка на ленту новостей.

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

В настройках сайта Ограничение ленты новостей стоит 10. из чего можно сделать вывод, что это не то.
*

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
Вот так попробуйте:

Цитировать
Откройте для редактирования файл feed.php, расположенный по адресу: /libraries/joomla/document/feed/feed.php и измените в нем стандартную на следующую:

Код
function __construct($options = array())
{
   parent::__construct($options);
   //set document type
   //$this->_type = 'feed';
   JError::raiseError (404, JText::_('Resource Not Found'));
}
*

nightbeast

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Вот так попробуйте:


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

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1500
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 1510
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 2161
Последний ответ 06.02.2024, 12:42:26
от AlexP750
[Решено] Ссылка на домен и текущий шаблон в блоге категории

Автор goga_pgasovav

Ответов: 2
Просмотров: 950
Последний ответ 06.03.2023, 16:30:23
от goga_pgasovav
[Решено] Не добавляется CSS-класс страницы

Автор Strelok760

Ответов: 16
Просмотров: 2026
Последний ответ 02.03.2023, 16:14:47
от Танита Сар