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

TYRA

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Таб в VirtueMart
« : 03.03.2015, 23:04:24 »
Приветствую! Задался проблемой добавить в карточку товара условия доставки и оплаты. Хочу добавить их в виде таба. В самой карточке только 2 таба - описание и отзывы. В default.php нашел вот такой код:

Код
	<?php if(!empty($this->product->product_desc) || $this->allowRating || $this->showReview) : ?>
<ul id="product-tabs">
<?php if(!empty($this->product->product_desc)) : ?>
<li data-toggle="product-description"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DESC_TITLE')?></li>
<?php endif; ?>

<?php if($this->allowRating || $this->showReview) : ?>
<li data-toggle="customer-reviews"><?php echo JText::_('COM_VIRTUEMART_REVIEWS')?></li>
<?php endif; ?>

Как я понял все это и отвечает за сам таб.

Далее код отвечающий за само наполнение таба описание товара или отзывом:

Код
<div id="product-tabs-content">
<?php endif; ?>


<?php if (!empty($this->product->product_desc)) : ?>
<div class="product-description gk-product-tab">
<?php echo $this->product->product_desc; ?>
</div>
<?php endif; ?>

<?php // onContentAfterDisplay event
echo $this->product->event->afterDisplayContent; ?>



<?php // Customer Reviews

Помогите пожалуйста вписать сюда таб с информацией об уловиях гарантии, информация о которой находится на соответствующей странице.
*

TYRA

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Таб в VirtueMart
« Ответ #1 : 04.03.2015, 20:19:34 »
Вопрос снят.
Реализовал в виде:
Добавил в<ul id="product-tabs">
Код
        <li data-toggle="shipp">Доставка</li>
<li data-toggle="pay">Оплата</li>
<li data-toggle="warranty">Гарантия</li>
Далее после строки <?php // onContentAfterDisplay event
   echo $this->product->event->afterDisplayContent; ?> :
Код
		
<div class="shipp"> //описание таба "Доставка"
        <div class="pay"> //описание таба "Опалата"
        <div class="warranty"> //описание таба "Опалата"

Может кому пригодится.

ПС: в php я полнейший ноль, реализовывал чисто интуитивно, возможно не у всех сработает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль SJ Filter for VirtueMart - только 30 custom fields

Автор Alex_gs

Ответов: 0
Просмотров: 2535
Последний ответ 08.08.2022, 15:09:59
от Alex_gs
Решено: Валютный знак рубля в VirtueMart 2

Автор frostwar

Ответов: 10
Просмотров: 11652
Последний ответ 07.04.2020, 15:50:54
от liberator
Как вывести модуль в витрине VirtueMart?

Автор Дмитрий_76

Ответов: 1
Просмотров: 2918
Последний ответ 09.02.2020, 10:06:17
от AlexB
Редактирование карточки товара VirtueMart

Автор muserun

Ответов: 2
Просмотров: 5133
Последний ответ 31.10.2019, 12:53:51
от Sandruk1
Не отображается заголовок категориq VirtueMart

Автор galll72

Ответов: 0
Просмотров: 986
Последний ответ 04.02.2019, 15:08:15
от galll72