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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Интересная заметка (и комментарии там), правда на английском. Переводить не вижу смысла, кому интересно и так прочитают - а полный перевод точно не нужен.

Volunteers are falling short, and now, OSM has to pay developers
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Совершенно правильное замечание в комментах
Цитировать
Joomla can't rely on students or college professors with a lot of spare time doing all the work - it needs few people that really know what they are doing to tie things together and set directions.

Вообще конечно согласен, некоторая закрытость оригинальных разработчиков от всех, слабая реакция на пожелания и вызывают подобные топики (при этом не обвиняю разработчиков, прекрасно понятно почему это так)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
некоторая закрытость оригинальных разработчиков от всех, слабая реакция на пожелания
С другой стороны их тоже можно понять, прислушиваться ко всем "хочу" или "а вот неплохо бы", все равно нельзя, им нужно держаться некоего курса, который они изначально выбрали. Объяснять постоянно тем или иным пользователям, что их предложения или решения совсем не укладываются в общую концепцию тоже не реально, ибо разработчиков-то не так уж и много (в сравнении с количеством пользователей).

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

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
Позвольте вставить свои 5 копеек: Joomla весьма популярна во всем мире среди бесплатных CMS. Одна из лидеров. На рекламе Joomla.org и др. принаджежащих core team площадках можно на рекламе деньги неплохие зарабатывать. Поскольку Joomla изначально разрабатывалась как бесплатный продукт, то команда должна была продумать маркетинговую политику, на чем зарабатывать деньги для дальнейшего развития системы. И на мой взгляд реклама - одно из лучших инвестиций. Если же данного дохода недостаточно, то в пору подумать об инвестициях со стороны, но в таком случае разработчики должны предложить какие-то бонусы инвесторам... В любом случае, с интересом буду наблюдать за развитием событий.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться