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

Asubos

  • Новичок
  • 8
  • 0 / 0
Группировка товаров
« : 19.03.2014, 00:27:37 »
Столкнулся со следующей проблемой, люди добрые поможите знанием ^-^ ^-^

Дано:

1. Магазин детских игрушек.
2. Игрушки делятся по категориям.
3. Игрушки делятся по производителям (брендам).

Категории и производители это стандартные механизмы JoomShopping, их можно выводить в меню, в модули, формировать списки и т.д.

Надо:

Сгруппировать игрушки по какому-либо признаку. Например, трансформеры, покемоны, бакуганы и т.д.. Выводить список признаков (тэгов, группировок) в нужном мне месте, типа как в модуле категории или производители. При клике на элемент списка на страницу выводятся все товары, содержащие данный признак, например, трансформеры.

Проблемы: метками не решить, т.к. метка для товара только одна, тэгов в JoomShopping как таковых нету, модуля для вывода списка атрибутов либо характеристик вроде как тож не густо. Вариант с несколькими категориями для одного товара не канает, т.к. не совсем прозрачно для клиента, да и вывести списком конкретную категория и ее подкатегории просто не получится.

В общем может кто сталкивался с такой же потребностью, решал ее и т.д? Как лучше сделать? Допускаю что не знаю/не вижу какие-то варианты.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Группировка товаров
« Ответ #1 : 19.03.2014, 02:36:08 »
на сайте разработчиков есть аддон, который позволяет товары компоновать как угодно. products set или что-то в этом роде называется
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Группировка товаров
« Ответ #2 : 19.03.2014, 09:33:36 »
products set это по моему что то типа Набор товаров. А тут скорее все проще.
Цитировать
Сгруппировать игрушки по какому-либо признаку. Например, трансформеры, покемоны, бакуганы и т.д.
характеристики
Цитировать
Выводить список признаков (тэгов, группировок) в нужном мне месте, типа как в модуле категории или производители. При клике на элемент списка на страницу выводятся все товары, содержащие данный признак, например, трансформеры.
любой из фильтров товаров, который умеет отбирать товары по определенным характеристикам
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Asubos

  • Новичок
  • 8
  • 0 / 0
Re: Группировка товаров
« Ответ #3 : 19.03.2014, 10:11:07 »
На сайте разработчиков касательно комплектов есть такие дополнения:

http://www.webdesigner-profi.de/joomla-webdesign/shop/addons/set-of-product.html?lang=en
http://www.webdesigner-profi.de/joomla-webdesign/shop/addons/complect.html?lang=en

Как на мой взгляд они в данном случае не подходят так получается сильная связка товаров, немножко не то.

Буду с характеристиками работать, спасибо за советы  ^-^.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Группировка товаров
« Ответ #4 : 19.03.2014, 16:24:28 »
у характеристик минус в том, что в карточке товара не будет ссылки на страницу с товарами по этому признаку, ну то есть просто текстом выводится и все. но при наличии некоторых навыков - это дело можно исправить. то есть то что вы хотите можно сделать по-разному
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стоимость доставки для нескольких товаров. Должна ли рассчитываться?

Автор goga_pgasovav

Ответов: 2
Просмотров: 902
Последний ответ 14.06.2025, 13:08:57
от victorantoniak
Не сохраняется порядок товаров в админке

Автор heartlink

Ответов: 7
Просмотров: 2024
Последний ответ 08.10.2024, 10:24:02
от kit2m2
Сортировка товаров внутри категории

Автор oslyabya

Ответов: 1
Просмотров: 1430
Последний ответ 02.08.2024, 22:06:39
от nevigen
Обновление количества товаров в корзине без кнопки "Обновить корзину"

Автор kit2m2

Ответов: 4
Просмотров: 2940
Последний ответ 23.07.2024, 12:23:33
от Шрек
Добавление одного файла в группу товаров

Автор DarkMare

Ответов: 1
Просмотров: 1281
Последний ответ 16.06.2023, 10:13:59
от kit2m2