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

XaDex

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Диспозиция:

Есть достаточно древний сайт на Joomla 1.5, к нему прикручены jcomments, cb, uddieim, rsgallery и ещё куча всякого добра.

Сайт по фестивальной тематике - nagrushe.ru, но впрочем конкретика не особо важна.

Создавалось это давно, в те времена я только начинал работать с Joomla, соответственно изначально были заложены некоторые принципиальные грабли. Ситуация усугубляется тем, что в разное время над сайтом немного работали разные разработчики.

В итоге сейчас это всё описывается только простым русским словом на букву п.

Что нужно:

Хочется полностью перетряхнуть структуру, для этого нужна возможность запихать один материал в несколько категорий. Разумеется, учитывая количество материалов, хотелось бы хоть какой-то автоматизации, т.е. портирования нынешней структуры, чтобы не собирать с нуля.

Вообще по структуре хотелось бы аналога словарей из друпала.

очень хотелось бы сохранить комментарии, в идеале оставив компонент jcomments.

Галерею однозначно менять на что-то современное, желательно также с возможностью мультикатегорий, а также как отдельной галереи, так и вставки в материалы.

Профилями из cb и системой личных сообщений можно пожертвовать относительно безболезненно, а вот авторизацию через логинзу терять бы не хотелось.

Кроме того, мечтаю о возможности прикреплять материал не только к дате создания, но и к какой-то дате в календаре, т.е. этакая интеграция всего контента с афишей.

Как я вижу решение:

Перевести это всё на j2.5 и накатить сверху K2. Но, возможно стоит сразу на третью версию? Какие встретятся грабли? Есть ли более кошерные варианты?
*

XaDex

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Если кому интересно:

Перенос осуществил через j2xml, для чего на хостинг пришлось накатить пакет xsl для php. Kunena сама подцепила старые базы и обновилась, только префикс сменить. K2 материалы подхватывает из самой Joomla. Мультикатегории через K2 AC. Jcomments переносится при помощи какого-то скрипта (искать в яндексе), а потом простой заменой в табличке com_content на com_k2.

Остались вопросы с логинзой и rsgallery... тут походу без большого напильника совсем никак.

Ну а основная работа заключается не в техническом переносе, а в ручном перераскидывании материалов по новой структуре, ибо скриптами оно никак, мозг нужен-с...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обновление материала - отправка письма (подписавшимся)

Автор Flame666

Ответов: 7
Просмотров: 813
Последний ответ 10.12.2019, 14:51:25
от draff
Мультикатегории Joomla 2.5

Автор vahantov

Ответов: 8
Просмотров: 3019
Последний ответ 22.07.2015, 12:27:06
от ChaosHead
мультикатегории что ли?

Автор Dontworrybehappy

Ответов: 3
Просмотров: 2484
Последний ответ 26.02.2010, 08:39:30
от SmokerMan