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

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
День добрый, форумчане!
Столкнулся со следующей проблемой. Joomla 3.5.1 Stable + VirtueMart 3.0.16. При открытии категории, товар нормально отображается, а при попытке открыть карточку товара, браузер выдаёт ошибку:
 "Страница (название сайта) не работает. Сайт (...) пока не может обработать этот запрос. HTTP ERROR 500"
Ткните носом пожалуйста, в какую сторону копать. Двое суток пытаюсь решить проблему. Уже новую категорию завел и товар туда новый создал, всё равно не открывается :(
« Последнее редактирование: 24.06.2016, 13:03:40 от xabbep »
*

NisXan

  • Захожу иногда
  • 50
  • 0 / 0
Тоже самое! Если решили проблему, то подскажите пожалуйста
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Проблему решил отключением след. плагинов:

Moneybookers
Moneybookers Digital Wallet
Moneybookers Bank Transfer
Moneybookers Przelewy24
Moneybookers Sofortueberweisung
Moneybookers Giropay
Moneybookers iDeal
Moneybookers Lastschrift
Moneybookers Credit Cards
Klarna Checkout
Klarna


Эти плагины требуют лицензии. Карточка товара не выводится, если не купить лицензию на эти плагины. По этому пришлось их отключить и сразу всё заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор NIKOLY

Ответов: 0
Просмотров: 473
Последний ответ 04.07.2025, 09:18:31
от NIKOLY
VirtueMart 3 Отображать только товары в наличии!

Автор GaziroFFka

Ответов: 4
Просмотров: 3983
Последний ответ 06.06.2023, 13:55:13
от Akeksandr
SP VirtueMart Category Search

Автор ve1006

Ответов: 10
Просмотров: 7861
Последний ответ 18.01.2023, 10:39:10
от AzMandius
Как вывести ID товара в описании товара?

Автор Stasweb

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

Автор harddrop

Ответов: 11
Просмотров: 4868
Последний ответ 13.11.2022, 13:11:37
от Evgen Kulibin