Новости 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 Ответов
  • 2281 Просмотров
*

blistar

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Приветсвую знатаков,

Имеется:
jomsocial 2.0.6
мультипрофиль от JSPT
Базовый шаблон ja social 1.21


Нужно вывести секцию с допполями. То есть не весь $about , а только к примеру группу полей как "общая информация"

Буду признателен за помощь и в том числе в 5 вмз.
« Последнее редактирование: 05.05.2011, 12:58:35 от blistar »
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Нужно вывести секцию с допполями. То есть не весь $about , а только к примеру группу полей как "общая информация"
Какую именно секцию Вы хотите вывести? Какие конкретно данные?
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

blistar

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

Рад получить ответ!

Я отобразил пример на рисунке
*

kharol

  • Moderator
  • 1721
  • 217 / 0
А куда? В пределах компонента JomSocial или куда-то в другую часть Joomla?
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

blistar

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Мне нужно вывести эту информацию в профиле юмсоциала. Там, где в обычном варианте "обо мне" "about". Разница в том, что about выводит весь профиль, а мне нужно вывести только информацию из отдельной группы.
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Насколько я понял Вы делите пользователей на 2 категории:
соискатели и работодатели
Не проще ли создать 2 разных типа профиля информация о которых, будет соответственно по-разному отображаться в "About me"?
У соискателей - свои поля
У работодателей - свои
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

blistar

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Дело в том, что так уже реализовано. Но нужно именно разместить часть информации как на визитке - справа от аватара, а снизу только текст о компании и возможно еще пара текстовых блоков. Я решил проблему тем, что добавил справа от аватара примерно такие строки: <strong><?php echo JText::_('CC VIDDEL 1'); ?></strong>: <?php echo $user->getInfo('viddejat');?> И с низу только один большой текстовый блок. Но это менее удобно, так как каждое поле я указал в ручную, а не группой. Но да в принципе хорошо.

Сейчас проблема в том, что я просто вывел поля, а ранее в <?php echo $about; ?>  они выводились в стилях и геперактивными с поиском по ним. Это очень функционально. Буду рад если поможите как это сделать. Я так понимаю, что как пример нужно смотреть код из profile.about.php но сделать вывод полей с ссылками на поисковую сортировку как в about мне не удалось.

*

blistar

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Вопрос написанный ниже все еще актуален:

Как вывести группу полей в profile.header.php , а не все поля?

Буду рад вознаградить время потраченное на ответ в 10 вмз.

И другой вопрос, как вывести допполя, так чтобы они были активными и при ссылке открывался поиск по полю (описание в предыдущем посте)

Также рад отправить 10 вмз.

И просто благодарен!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод "обо мне" в боковом меню

Автор glebik

Ответов: 0
Просмотров: 3601
Последний ответ 12.06.2015, 12:19:52
от glebik
Вывод блока фотографий на странице пользователя

Автор pikaper

Ответов: 1
Просмотров: 1903
Последний ответ 01.03.2013, 15:28:09
от N2uM
Как показать список материалов, опубликованных пользователем рядом с видео и фото пользователя?

Автор Igor Rome

Ответов: 5
Просмотров: 2546
Последний ответ 03.02.2013, 13:51:55
от vs-161
Вывод аватара друзей на страницы Joomla

Автор Kvays

Ответов: 1
Просмотров: 1395
Последний ответ 03.01.2013, 18:19:15
от Kvays
Вывод фотографий на страницу профиля

Автор NikolaiV

Ответов: 1
Просмотров: 1804
Последний ответ 29.03.2012, 17:37:27
от Demias