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

anna:3

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Всем привет! Возник вопрос с работой VirtueMart 2.0. Нужно вывести поле на странице самого товара "Наличие на складе: доступен/отсутствует". Но нигде не могу найти соответствующих настроек :( Подскажите пожалуйста, как можно решить эту проблему! Спасибо.
*

Cergunya

  • Захожу иногда
  • 101
  • 16 / 0
Re: Вывести поле "Наличие товара:"
« Ответ #1 : 16.11.2012, 17:31:56 »
Файл components\com_virtuemart\views\productdetails\tmpl\default.php (если он используется как "Шаблон страницы товара" в Настройках) копируете в \templates\TEMPLATE_NAME\html\com_virtuemart\productdetails\default.php

и в нужном месте вставляете код

Код: php
<?php if (($this->product->product_in_stock - $this->product->product_ordered) < 1) { ?>
<span style="color:red"><?php echo 'Наличие на складе: отсутствует';?></span>
<?php } else { ?>
<span style="color:green"><?php echo 'Наличие на складе: доступен';?></span>
<?php }?>
*

anna:3

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Вывести поле "Наличие товара:"
« Ответ #2 : 16.11.2012, 17:50:38 »
Спасибо огромное!! :)
*

Cergunya

  • Захожу иногда
  • 101
  • 16 / 0
Re: Вывести поле "Наличие товара:"
« Ответ #3 : 16.11.2012, 18:37:18 »
Спасибо огромное!! :)
На форуме "Спасибо" говорят, нажимая "+" в репутацию ;)
*

otto_m

  • Захожу иногда
  • 51
  • 0 / 0
Re: Вывести поле "Наличие товара:"
« Ответ #4 : 11.01.2013, 17:08:54 »
У меня сработало немного другое условие
Код
<?php // Display the product_in_stock 
if ($product->product_in_stock < 1) {
 ?>
<span style="color:red"><?php echo 'Наличие на складе: отсутствует';?></span>
<?php } else { ?>
<span style="color:green"><?php echo 'Наличие на складе: доступен';?></span>
<?php }?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расчёт стоимости товара в VirtueMart за периметр

Автор NIKOLY

Ответов: 0
Просмотров: 475
Последний ответ 04.07.2025, 09:18:31
от NIKOLY
Как вывести ID товара в описании товара?

Автор Stasweb

Ответов: 8
Просмотров: 4521
Последний ответ 28.11.2022, 23:22:27
от Evgen Kulibin
Как вывести модуль в страницу VirtueMart?

Автор harddrop

Ответов: 11
Просмотров: 4869
Последний ответ 13.11.2022, 13:11:37
от Evgen Kulibin
Joomla 3 + VM + Universal AJAX Live Search - как вывести картики товара в поиске?

Автор PSN

Ответов: 10
Просмотров: 9911
Последний ответ 27.03.2022, 17:29:00
от Evgen Kulibin
Как сделать - Вывод модуля на всех страницах - Кроме в карточке товара?

Автор artem_wrong

Ответов: 15
Просмотров: 3456
Последний ответ 15.02.2022, 15:07:34
от beliyadm