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

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
На днях встала задача вывести у определенной категории свое оформление материалов. (На примере дополнительного поля http://joomlaforum.ru/index.php/topic,143138.0.html )

Решение.
Открываем components/com_content/views/category/tmp/blog_item.php
Или  html/com_content/category/blog_item.php

И вставляем php код рядом с тем полем, в котором вы хотели бы изменить что-то. (или добавить поле +, или еще что-то....)
Код
<?php  
$jtimg = $articleParams->get('art_image');   // параметры дополнительного поля
$jtcat = $this->item->catid;  // категории
if ( $jtcat == 8) { // условие, если id категории = 8, то вывести

echo '<div class="jt-art-img">';

echo '<img src="'. $jtimg .'" />'; // вывод

echo '</div>';

}?>


« Последнее редактирование: 29.08.2013, 10:12:39 от b2z »
Мои расширения - http://eco-joom.com/ru/
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
не проще создать разметку (или макетом его обозвали) и назначить для нужной категории?
1.6 от 1.5 этим и отличается, в плане более глубокой шаблонизации.
http://docs.joomla.org/Layout_Overrides_in_Joomla_1.6
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
не проще создать разметку (или макетом его обозвали) и назначить для нужной категории?
1.6 от 1.5 этим и отличается, в плане более глубокой шаблонизации.
http://docs.joomla.org/Layout_Overrides_in_Joomla_1.6
Конечно проще, но не всегда. Я написал решение, вдруг кому нибудь понадобиться именно таким способом.
А есть и  минусы у разных макетах, например вторичная загрузка скриптов и CSS. Хотя, как написать код шаблона....

Тут сразу два решения. Наверное надо тему в FAQ 1.6.
« Последнее редактирование: 01.03.2011, 18:25:01 от Aspik »
Мои расширения - http://eco-joom.com/ru/
*

Begotten

  • Захожу иногда
  • 81
  • 0 / 1
А не проще установить mod_php, прописать в него свои CSS стили, отображать этот модуль в нужных пунктах меню или вообще вставлять его в нужный материал?
*

Kryst

  • Новичок
  • 5
  • 0 / 0
Добрый день.
Создал модуль сортировки товара по производителям в jomshoping.
Производители в модуле выводятся вертикально в столбик. Никаких настроек, чтобы расположить горизонтально
или сделать выпадающим списком я не нашел.
Подскажите, как менять вертикальное расположение на горизонтальное, и возможно ли это в стандартном модуле ?
Может быть есть более удобные компоненты чем jomshoping для создания магазина ?
Подскажите, кто знает.
Спасибо.
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Цитировать
менять вертикальное расположение на горизонтальное
- это делается при помощи CSS - прописываем блокам свойство - float:left и можно еще добавить display:inline-block.
Но а вот
Цитировать
более удобные компоненты чем jomshoping для создания магазина
тут надо уж знать чуточку больше деталей - что в результате желаете видеть, нежели просто магазин
*

Kryst

  • Новичок
  • 5
  • 0 / 0
С помощью float:left удалось расположить модуль в строчку, но как использовать display:inline-block я так и не разобрался,
куда его не вставляй, ничего не меняется. Я прочитал, что вроде бы этот пункт запрещает добавлять позиции ?
 
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
странно
Цитировать
Выбор между inline-block и float необходимо делать, исходя из решаемых задач в конкретном дизайне. В итоге все сводится к отличиям этих двух инструментов:
---->>>>
Спойлер
[свернуть]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как выводить категории на главной странице.

Автор makarovse

Ответов: 7
Просмотров: 2855
Последний ответ 03.04.2022, 19:50:42
от THE KILLERS
Как добавить свое изображение в папку images/banner?

Автор RaIsaA

Ответов: 2
Просмотров: 1205
Последний ответ 28.11.2021, 15:54:20
от SeBun
Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 3350
Последний ответ 12.07.2020, 12:46:06
от NataliS
Как вывести все категории VirtueMart 3 второго уровня списком?

Автор Damarkuzz

Ответов: 0
Просмотров: 1237
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 2045
Последний ответ 14.12.2019, 20:19:21
от Gromz