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

Rost

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
  • Свобода в основе устоев и закаляет героев.
Что-то напортачил
« : 11.01.2011, 12:23:14 »
После новогодних праздников решил продолжить роботу. Начал с того что удалял лишние компоненты, модули. Но на модулях встрял!
Удалил несколько на мой взгляд не нужных модулей и админка встряла(( Не стало верхней панели где в ряд "сайт материал и т.п." Каждое слово стоит между • вот такими точками и под надписью:

"Joomla! Распространяется по лицензии GNU/GPL.
Локализация: Портал Joomla! по-русски
Форум русской поддержки Joomla! CMS"

Написанно много какой-то хрени(

Подскажите пожалуйста как можно все восстановить!
*

stanich

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Что-то напортачил
« Ответ #1 : 12.01.2011, 01:41:48 »
На стадии формирования сайта желательно регулярно делать дамп сайта.
Как вариант может попробовать залить поверх твоего сайта дистрибутив той же версии Joomla? Может поможет. ::)
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Что-то напортачил
« Ответ #2 : 12.01.2011, 01:53:14 »
Перезалейте двиг из архива с оф. сайта.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

stanich

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Что-то напортачил
« Ответ #3 : 12.01.2011, 10:16:15 »
Перезалейте двиг из архива с оф. сайта.
О и знающие люди так говорят! Значит верное предположил.
Я также делал на другом движке, когда ко мне троян на хостинг пробрался. Не знал как его выловить. Помогла перезаливка движка по верх старого. Потом поправить пришлось, то что до этого менял и настраивал, но сайт был реанимирован. ))
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Что-то напортачил
« Ответ #4 : 12.01.2011, 19:24:56 »
файлы здесь не причем. Все можно восстановить через БД.
потыкайте поиск, на эти проблемы уже отвечилось неоднократно. лень писать просто
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Что-то напортачил
« Ответ #5 : 12.01.2011, 19:39:50 »
случайно тема попалась. значит напишу. Кстати самая первая тема в этом разделе
Пропали некоторые элементы интерфейса админки
в этом случае нужен запрос
Код
UPDATE `jos_modules` SET `published` = '1' WHERE `module` = 'mod_menu';
Можно сделать и без запроса. Тоже писал как это делать.
В админке набираете
http://сайт.му/administrator/index.php?option=com_modules&client=1
и публикуете модуль Admin Menu
По поводу точек - в настройках сайта отключить отладку локализации

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

Почему не чиститься кеш, где я напортачил.

Автор zhavoronkov

Ответов: 6
Просмотров: 2023
Последний ответ 16.11.2010, 15:42:02
от jem777