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

Ag1r

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Генерация псевдонима
« : 11.09.2010, 23:02:49 »
Здравствуйте!
Подскажите пожалуйста, как можно вывести в нужном месте псевдоним раздела и категории

Заранее благодарен за ответ!  ^-^
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Генерация псевдонима
« Ответ #1 : 11.09.2010, 23:13:52 »
может всё-таки название? псевдоним-то это обычно транслитарация жуткая или вообще - дата.
*

Ag1r

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Генерация псевдонима
« Ответ #2 : 11.09.2010, 23:19:43 »
может всё-таки название? псевдоним-то это обычно транслитарация жуткая или вообще - дата.
Не, мне именно псевдоним нужно =) я с помощью этого планирую ссылки создавать автоматически )

Ну а если сможешь подсказать ещё и как названия вывести, будет тоже здорово! тоже нужно )
*

Ag1r

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Генерация псевдонима
« Ответ #4 : 11.09.2010, 23:42:03 »
ну вот пример, как псевдоним категории тягают
http://joomlaforum.ru/index.php/topic,120547.msg663816.html#msg663816
что-то не обнаружил там способа вывода псевдонима.... =(
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Генерация псевдонима
« Ответ #5 : 11.09.2010, 23:55:16 »
ну вот в этой строке вроде как ссылка как раз собирается
 echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->article->catslug, $this->article->sectionid)).'">';
т.е. и псевдоним категории и ID раздела запросили
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Генерация псевдонима
« Ответ #6 : 12.09.2010, 00:01:48 »
вообще, проще, наверно, взять за основу готовый модуль (встроенный latest news) - там уже всё есть.
вот пример из документации с выделенным фрагментом, как ссылки формируются.
http://docs.joomla.org/Latest_News_module_with_date
*

Ag1r

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Генерация псевдонима
« Ответ #7 : 12.09.2010, 00:30:37 »
вот пример из документации с выделенным фрагментом, как ссылки формируются.
http://docs.joomla.org/Latest_News_module_with_date
Я, как практически чайник в php, не нахожу в той статье ответа на свой вопрос... Я примерно представляю как формируются ссылки, что сначала создаётся какой-то запрос, назначаются переменные, а потом эти переменные поставляются в линк. как-то так наверное.

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

Генерация php файлов в корень сайта

Автор Mangoz

Ответов: 7
Просмотров: 2306
Последний ответ 03.10.2014, 08:23:43
от Taatshi
Нетривиальная задача - генерация содержимого исходя из данных mysql

Автор LeniviKot

Ответов: 1
Просмотров: 1267
Последний ответ 16.04.2012, 03:31:13
от LeniviKot
Выводится id материала в ссылке вместо псевдонима

Автор Scorp147

Ответов: 5
Просмотров: 2123
Последний ответ 28.10.2011, 00:27:38
от SmokerMan
Генерация ссылок

Автор vawerv

Ответов: 1
Просмотров: 1295
Последний ответ 31.08.2010, 16:17:39
от stardel
J! 1.6 генерация страниц

Автор SergioTM

Ответов: 7
Просмотров: 1792
Последний ответ 14.04.2010, 07:04:03
от SergioTM