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

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Неожиданная задача, негде проверить. Если я создам учетную запись и раздам её логин и пароль нескольким пользователям. Смогут ли они зайти и работать с фронта одновременно и с разных компьютеров под этим одним аккаунтом?
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
да но с разным контентом
ибо блокировки
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
да но с разным контентом
ибо блокировки
Тогда уточню вопрос: есть материал в котором форма для опроса (например 20 вопросов  и радиокнопки  оценка от 1 до 10). Те если один юзер открыл эту страницу и заполняет форму, то другой  юзер уже доступа к ней не имеет? Вдвоем одновременно смогут они заполнять одну и ту же форму? (Речь о редактировании материала с фронта не идет, но материал отображается доступен только для зарегистрированных пользователей)
« Последнее редактирование: 29.09.2021, 23:02:01 от x1 »
*

sivers

  • Живу я здесь
  • 2596
  • 360 / 0
Вдвоем одновременно смогут они заполнять одну и ту же форму?
Смогут. Проблем быть не должно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Смогут. Проблем быть не должно.
К каким группам пользователей отнести такокого юзера? Кроме галочки против "Registered" какие еще отметить? Уточню - нужен просмотр  только с фронта документов, доступных только зарегистрированным пользователям. Сама регистрация и вход в личный кабинет будут отключены, пользователям просто выдадут один общий логин и пароль.
*

sivers

  • Живу я здесь
  • 2596
  • 360 / 0
К каким группам пользователей отнести такокого юзера? Кроме галочки против "Registered" какие еще отметить?
Не принципиально. Если других зареганых юзеров не будет, то можно ограничиться группой Regidtered. А если будут и другие юзеры, а доступ нужен не всем, то можно создать для них отдельную группу.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Проблемы будут однозначно. Например, выход одного пользователя из аккаунта, выкинет оттуда всех. Наверняка можно найти еще кучу, если подумать. Например, Джумла реализует свой собственный механизм сессий. В то время как расширение, которым вы выводите форму, может использовать серверный. Всё это вы заплетете в путаницу: куки, сессии...

В таких случаях я делаю отдельный от Джумла пользовательский интерфейс. К нему уже подключаются либо Джумла - пользователи, либо еще как-то. Теперь сам этот интерфейс вы можете писать как хотите.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Если общий логин и пароль, можно скрыть под basic авторизацию апача
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пароль Пользователя

Автор Олег5

Ответов: 3
Просмотров: 811
Последний ответ 14.02.2025, 10:41:20
от fbr
Не подходят старые логин и пароль

Автор maffik82

Ответов: 10
Просмотров: 1425
Последний ответ 28.05.2021, 14:04:01
от xpank
Возможно ли сделать унаследование под категорий?

Автор sesil

Ответов: 1
Просмотров: 555
Последний ответ 12.02.2021, 15:53:58
от beliyadm
Возможно ли создать подматериал?

Автор Ros

Ответов: 3
Просмотров: 687
Последний ответ 18.01.2021, 18:55:16
от dm-krv
Могу войти в phpMyAdmin, но нужно посмотреть пароль от базы данных

Автор vova630

Ответов: 5
Просмотров: 978
Последний ответ 10.01.2021, 18:02:00
от AlexB