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

StylUS

  • Новичок
  • 2
  • 0 / 0
доброго времени суток,

проблема такая..
заказчик попросил, значит поставить модуль на Joomla. даже показал какой .
проблема в том, что модуль работал только на 1.0 версии (не 1.5).
ну я, пару дней порывшись в коде, переписал его под себя сперва, написал как требовалось, модуль (лучше даже сказать, компонент)
заработал в Joomla 1.0 как надо.
но потом вдруг понял что надо же наверно лучше на 1.5 делать сразу. поставил Joomla 1.5, немного изменив код, мой модуль ставится без проблем
и на 1.5, в админке все как положено, управление, настройка итд. делаю ссылку в меню, перехожу по ней - 404 - Component not found
пытался погуглить, ничего дельного не нашел.

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

помогите пожалуйста, заказ скоро отдавать а тут такая проблемка :(
заранее благодарен за все ответы.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
подозреваю только на каую нибудь отличную от 1.0 структуру кода,

Она как бы достаточно сильно отличается

Цитировать
немного изменив код, мой модуль ставится без проблем ...
 хотя все же поставилось норм.

Если компонент при установке или непосредственно после неё сразу никуда не лезет,
то достаточно в установочном xml-файле указать
Код
<install ... version="1.5.0">
- и компонент поставится,
не выдавая никаких сообщений об ошибках.

Но это не значит, что он будет работать.

P.S. Попробуйте включить режим legacy
*

StylUS

  • Новичок
  • 2
  • 0 / 0
Цитировать
Если компонент при установке или непосредственно после неё сразу никуда не лезет,
всмысле куда то лезет? не лезет вроде никуда :) не должен по крайней мере.
Цитировать
<install ... version="1.5.0">
так и делал.
Цитировать
P.S. Попробуйте включить режим legacy
неа, не помогает :(

кстати, в админке тоже нифига не работает :(
показывает, что компонент есть, все правильно по папочкам раскидал скрипты, а когда жму на управление им - та же 404
« Последнее редактирование: 09.01.2011, 16:48:12 от StylUS »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Цитировать
<install ... version="1.5.0">
Цитировать
так и делал.

Поменять тип инсталляции в xml-файле недостаточно, чтобы компонент заработал



неа, не помогает :(

Если он работает на 1.0, поставьте ту версию, которая работала под 1.0, включив legacy

А чтобы компонент работал в native-режиме, его скорее всего придётся переписать полностью

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

Как поменять основные цвета модуля

Автор aisedora21

Ответов: 7
Просмотров: 4697
Последний ответ 24.06.2021, 20:23:06
от Moysha
Проблема со входом в Админ панель после переноса сайта

Автор Vlad Ermolaev

Ответов: 11
Просмотров: 4195
Последний ответ 12.12.2019, 15:48:25
от SeBun
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97148
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Проблема c MobileJoomla

Автор alexmishka

Ответов: 0
Просмотров: 1777
Последний ответ 25.02.2018, 20:32:10
от alexmishka
Вопрос при переходе на https/ Проблема с внутренними ссылками

Автор krot

Ответов: 4
Просмотров: 2125
Последний ответ 06.02.2018, 09:21:33
от krot