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

siao

  • Захожу иногда
  • 233
  • 4 / 0
Дааа, скажу я вам, задача не из простых. Если твой сайт живет с 2007 года, пережил всякие переезды, обновления с 1.5 до 2, а потом и до 3 версии Joomla, то на 4-ю его перенести тот еще квест...
(при этом довольно новые сайты с 3.х версией обновились нормально)

Конечно, за столько лет там чего только не установлено. Основные компоненты это: Kunena, uddeIM, Easy Profile, AcyMailing, SEOSimple, Slogin, Gantry5, Phoca,
И десятки других каких-то плагинов и куча отключенных компонентов -)))

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

И в итоге - все равно база данных оказалась не соответствующей для 4.0 (а я делала обновление с 3.10.4 сначала до 4.0, потом патчи 4.0.1, 4.01-4.0.2 и тд до 4.0.5
Пришлось закачивать полный пакет и оттуда брать недостающие почему-то таблицы (касались workflow), но и это особо не помогло, потому что ошибок валилось столько.... стооооолько.... из JROOT, что просто невозможно это понять не специалисту.

Админпанель не поняла установившегося шаблона Atum, когда ей "объяснили", то все равно не показывала ни одного модуля.
В общем на фоне всего этого, пробовала подключать компоненты...
Kunena не пошел форум (upd. и не пойдет - для 4.0 джумлы есть только бета-версия Kunena, и даже она на нулевый сайт 4.0.5 не встает -говорит table _kunena_configuration' doesn't exist, и все, теперь эта ошибка в админке не дает запуститься НИЧЕМУ вообще. ну ее нафих 4.0)
Gantry 5 пошел
uddeIM тоже не пошел... а дальше и пытаться не стала... как мне без них?

и что же делать... как обновить... вижу только один выход - на нулевый сайт с 4 версией переносить руками данные... но это же анрил какой-то! (там пользователей 7 тыс, там форум на сотни тыс, статей пара тыщ... )

и все же главный вопрос - КАК ДЕЙСТВИТЕЛЬНО ПОДГОТОВИТЬ БД MySQL?

upd. вердикт - вообще обновляться бесполезно сейчас.
« Последнее редактирование: 17.12.2021, 13:20:39 от siao »
*

anatol81n

  • Захожу иногда
  • 82
  • 2 / 0
Re: Об обновлении древнего сайта
« Ответ #1 : 17.12.2021, 13:32:35 »
КАК ДЕЙСТВИТЕЛЬНО ПОДГОТОВИТЬ БД MySQL?
пока все ваши расширения не адаптированы под 4.0 переходить на нее не стоит
*

siao

  • Захожу иногда
  • 233
  • 4 / 0
Re: Об обновлении древнего сайта
« Ответ #2 : 20.07.2023, 17:13:35 »
в итоге дожила до обновления... обновить древний сайт просто невозможно. сутки потратила.

пришлось с нуля устанавливать 3.10.12, в него переносить таблицы с юзерами, форума, статьи, проверять - подцепилось ли и потом только обновлять до 4.0. рисковать и сразу на 4.3 не стала (может зря? потому что теперь устану скачивать апгрейды, а скачать их без vpn просто невозможно, а на бесплатном впн 20Мб файл качается пол часа -((

когда дойду до 4.3, тогда установлю и форум (kunenа) и займусь дизайном...
это, товарищи, трындцец....

апд. 4.0.4 установилась и предложила обновиться сразу до 4.3... эх я наивная! конечно же ОПЯТЬ обновилось все плохо - шаблон админки просто не работал. пришлось все по новой с бэкапа 3.10.12.
теперь попробую на 4.0.4 поставить 4.1.

upd2. а чтобы поставить кунена надо 4.2.9 не ниже! поэтому... 4.1, 4.1.5, 4.2, 4.2.3, 4.2.5, 4.2.9...

upd3. и только так получилось "обновить" сайт.. (еще таблицы с menu надо было старые взять). в общем все основное на месте. теперь руками возиться с дизайном (gantry5).

upd.4 к ночи отправила заявку хостингу перенести файлы и бд... ничего к 10 утра не перенесли (хотя техподдержка круглосуточная), с утра перенесла сама (при том, что БД больше 70Мб залить нельзя, пришлось таблицы в 130Мб копировать вручную...)
без тупизны не обошлось - вначале залила не ту БД, но благо большие таблицы и в новой БД были те же, исправила быстро.
теперь - вспоминать какие и где были модули и настраивать дизайн -)
Главное - юзеры перенеслись, форум и статьи тоже!
« Последнее редактирование: 21.07.2023, 15:02:07 от siao »
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Re: Об обновлении древнего сайта
« Ответ #3 : 26.07.2023, 12:38:51 »
Товарищи, такие вещи ВСЕГДА делаются на локалке. И только после того, как обкатали на локалке ВСЕ, потом переносится на хостинг. Какие еще впн? Нельзя же так не жалеть свои нервы.))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

plasmo-inspector в коде сайта

Автор androv77

Ответов: 2
Просмотров: 802
Последний ответ 05.07.2025, 07:49:48
от b2z
Как всё-таки создать страницы сайта на Joomla?

Автор donaire

Ответов: 4
Просмотров: 939
Последний ответ 14.02.2025, 12:22:41
от Tavol
Как правильно создать структуру сайта?

Автор donaire

Ответов: 2
Просмотров: 896
Последний ответ 11.02.2025, 23:29:46
от Tavol
Где отражается email сайта?

Автор hensler

Ответов: 1
Просмотров: 712
Последний ответ 26.11.2024, 09:53:59
от web1
Закрыть доступ к определенным страницам сайта по IP

Автор Doctor Death

Ответов: 7
Просмотров: 1488
Последний ответ 07.05.2024, 09:57:50
от sivers