Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 3343 Просмотров
*

SoFuWa

  • Захожу иногда
  • 61
  • 0 / 0
Ускорить загрузку сайта
« : 01.09.2014, 12:53:05 »
Иногда сайт грузиться очень быстро, иногда по несколько секунд. БД 180 Мб, посетителей нет, на тестовом домене.
Кеширование пока отключено, с ним немного лучше.

Вот инфа из отладки:
Время: 0.0 ms / 0.0 ms Память: 0.585 MB / 0.58 MB Application: afterLoad
Время: 185.2 ms / 185.2 ms Память: 5.647 MB / 6.23 MB Application: afterInitialise
Время: 257.4 ms / 442.6 ms Память: 1.975 MB / 8.21 MB Application: afterRoute
Время: 1447.3 ms / 1890.0 ms Память: 7.763 MB / 15.97 MB Application: afterDispatch
Время: 41.9 ms / 1931.8 ms Память: 0.363 MB / 16.33 MB Application: beforeRenderModule mod_roknavmenu ()
Время: 100.5 ms / 2032.3 ms Память: 1.438 MB / 17.77 MB Application: afterRenderModule mod_roknavmenu ()
Время: 0.3 ms / 2032.6 ms Память: 0.000 MB / 17.66 MB Application: beforeRenderModule mod_roknavmenu ()
Время: 68.9 ms / 2101.5 ms Память: 0.290 MB / 17.95 MB Application: afterRenderModule mod_roknavmenu ()
Время: 13.2 ms / 2114.7 ms Память: 0.000 MB / 17.93 MB Application: beforeRenderModule mod_roknavmenu (Главное меню)
Время: 6.9 ms / 2121.5 ms Память: 0.129 MB / 18.06 MB Application: afterRenderModule mod_roknavmenu (Главное меню)
Время: 0.1 ms / 2121.7 ms Память: 0.000 MB / 18.03 MB Application: beforeRenderModule mod_login (Вход на сайт)
Время: 38.7 ms / 2160.3 ms Память: 0.513 MB / 18.54 MB Application: afterRenderModule mod_login (Вход на сайт)
Время: 0.2 ms / 2160.5 ms Память: 0.000 MB / 18.52 MB Application: beforeRenderModule mod_menu (Реклама)
Время: 5.7 ms / 2166.2 ms Память: 0.060 MB / 18.58 MB Application: afterRenderModule mod_menu (Реклама)
Время: 0.1 ms / 2166.3 ms Память: 0.000 MB / 18.57 MB Application: beforeRenderModule mod_search (Поиск)
Время: 4.3 ms / 2170.6 ms Память: 0.034 MB / 18.60 MB Application: afterRenderModule mod_search (Поиск)
Время: 0.1 ms / 2170.7 ms Память: 0.000 MB / 18.60 MB Application: beforeRenderModule mod_custom (Дата/Время)
Время: 3.0 ms / 2173.7 ms Память: 0.010 MB / 18.61 MB Application: afterRenderModule mod_custom (Дата/Время)
Время: 0.1 ms / 2173.9 ms Память: 0.000 MB / 18.60 MB Application: beforeRenderModule mod_custom (Наш баннер)
Время: 0.4 ms / 2174.3 ms Память: 0.007 MB / 18.61 MB Application: afterRenderModule mod_custom (Наш баннер)
Время: 0.1 ms / 2174.4 ms Память: 0.000 MB / 18.61 MB Application: beforeRenderModule mod_custom (Полезное)
Время: 0.9 ms / 2175.3 ms Память: 0.011 MB / 18.62 MB Application: afterRenderModule mod_custom (Полезное)
Время: 0.1 ms / 2175.4 ms Память: 0.000 MB / 18.62 MB Application: beforeRenderModule mod_custom (Полезное)
Время: 0.6 ms / 2176.0 ms Память: 0.005 MB / 18.62 MB Application: afterRenderModule mod_custom (Полезное)
Время: 0.1 ms / 2176.1 ms Память: 0.006 MB / 18.63 MB Application: beforeRenderModule mod_breadcrumbs (Навигатор сайта (путь к странице))
Время: 16.0 ms / 2192.2 ms Память: 0.064 MB / 18.69 MB Application: afterRenderModule mod_breadcrumbs (Навигатор сайта (путь к странице))
Время: 0.3 ms / 2192.5 ms Память: 0.001 MB / 18.69 MB Application: beforeRenderModule mod_roksprocket (FP Slideshow - RokSprocket Features)
Время: 185.1 ms / 2377.6 ms Память: 1.815 MB / 20.51 MB Application: afterRenderModule mod_roksprocket (FP Slideshow - RokSprocket Features)
Время: 128.3 ms / 2505.9 ms Память: 0.537 MB / 21.04 MB Application: afterRender

В профилировании SQL запросов, query end - обычно тормозит всё.
Самый длинный запрос к БД
Спойлер
[свернуть]
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
Re: Ускорить загрузку сайта
« Ответ #1 : 02.09.2014, 12:03:56 »
очень похоже на выборку материалов для главной.
Вот тут в принципе все объясняется, а именно что на тысячах материалов тормоза есть, и что спасет лишь кеширование плагином.
Кеширование запросов мускулом тут не спасет, так как часть касаемая даты '2014-09-01 08:39:40' постоянно меняется, то есть запрос фактически кешируется на секунду.
Лучше переписать запрос, чтобы было округление до '2014-09-01 00:00:00' - тогда запрос будет дергаться из кеша весь день, но невозможно будет указать точное время снятия матеарила с публикации.
В этом случае (query cache) после кеширования его мускулом он будет отрабатывать моментально, если не изменятся данные ни в одной из перечисленных таблиц (а именно пользователи, категории, материалы, материалы для главной, рейтинг) и запрос не выпадет из кеша.
Или урезать "фишки" Joomla с главной, например вообще не проверять снят ли материал с публикации по дате, забить на рейтинг - это ускорит работу запроса и без query cache.

UPD.
Это самый долгий или самый длинный запрос? Время выполнения весьма косвенно связано с длинной запроса, я могу придумать запрос длиннее этого со временем выполнения 2 миллисекунды.
« Последнее редактирование: 02.09.2014, 12:13:28 от neo85r »
*

SoFuWa

  • Захожу иногда
  • 61
  • 0 / 0
Re: Ускорить загрузку сайта
« Ответ #2 : 02.09.2014, 19:13:25 »
Или урезать "фишки" Joomla с главной, например вообще не проверять снят ли материал с публикации по дате, забить на рейтинг - это ускорит работу запроса и без query cache.
А как это сделать? Через админку как я понял никак? )) Или отключить что можно.

Это самый долгий или самый длинный запрос? Время выполнения весьма косвенно связано с длинной запроса, я могу придумать запрос длиннее этого со временем выполнения 2 миллисекунды.
Самый долгий, время выполнения колеблется сильно.
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
Re: Ускорить загрузку сайта
« Ответ #3 : 03.09.2014, 09:54:25 »
Да, через админку это не сделать никак. Только внести изменения в код. Для этого создать компонент, скопировав в него все файлы штатного компонента, переименовать его и внести изменения в код.
Или править штатный компонент, только эти правки затрутся при обновлении, но это возможно отследить если использовать систему контроля версий, например git.
Решение чисто на MySQL без переделки движка:
Изменить тип подсистемы хранения на InnoDB, в ней объединение таблиц работает быстрее
Делается это так:
ALTER TABLE `ixh95_content` ENGINE=INNODB;
Пройдите по все таблицам в запросе: ixh95_content_frontpage, ixh95_categories, ixh95_users, ixh95_content_rating
Также обновите MySQL до последней версии (5.6), где-то на зарубежном форуме об этом писалось, что более эфективно используется покрывающий индекс.
И этот индекс по каждой таблице следует построить:
ixh95_content_frontpage - по content_id
ixh95_categories - lft, rgt, extension, published
ixh95_users - name, email
ixh95_content_rating - rating_sum, rating_count

Надеюсь все перечислил. После этого делаем OPTIMEZE TABLE `ixh95_content` и других таблиц (не знаю, стоит ли делать сразу после постоения индекса, возможно они уже оптимизированы), EXPLAIN {запрос}, смотрим что получается. Можете выложить дамп этих таблиц, попробую сам.

Также тормоза по сортировке.
ORDER BY  c.lft, CASE WHEN a.publish_up = '0000-00-00 00:00:00' THEN a.created ELSE a.publish_up END  DESC,  a.created
Тут покрывающий индекс также невозможно использовать - разные таблицы, разный порядок сортировки (по убыванию, по возрастанию). Поэтому если админка позволяет, отключите лишние сортировки, оставив одну без условия CASE, например отключить сортировку по категориям и дате публикации, оставив по дате создания. Вообще сколько там записей в com_content?

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

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

SoFuWa

  • Захожу иногда
  • 61
  • 0 / 0
Re: Ускорить загрузку сайта
« Ответ #4 : 04.09.2014, 15:51:38 »
В Joomla 3 таблицы уже в INNODB
*

neo85r

  • Захожу иногда
  • 93
  • 10 / 0
  • Ускорение сайтов
Re: Ускорить загрузку сайта
« Ответ #5 : 05.09.2014, 10:24:02 »
А по всему остальному что я изложил выше?
Почему бы не включить кеш, и не заниматься оптимизацией того, что требует профессиональных навыков?
*

SoFuWa

  • Захожу иногда
  • 61
  • 0 / 0
Re: Ускорить загрузку сайта
« Ответ #6 : 06.09.2014, 16:38:29 »
А по всему остальному что я изложил выше?
Почему бы не включить кеш, и не заниматься оптимизацией того, что требует профессиональных навыков?
Кэш включён, стоит компонент JotChahe, включено всё кроме кеша браузера. Так же стоит скрипт сжимающий, объединяющий и минимизирующий CSS и JS. Виртуальный хостинг MySQL обновить не могу, стоит 5.5.38

Записей в xh95_content - 15000. Соритровку через админку Joomla принципиально отключить, нельзя, а вообще сортировка на сайте не используется вроде, ну только по дате публикации.

Индексы добавлю сейчас, посмотрю.
« Последнее редактирование: 06.09.2014, 16:47:12 от SoFuWa »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

pptx в теле материала сайта

Автор VIK4

Ответов: 0
Просмотров: 2523
Последний ответ 24.10.2024, 13:04:04
от VIK4
Заявки с сайта на Joomla

Автор ivs1

Ответов: 8
Просмотров: 3374
Последний ответ 18.12.2023, 12:37:45
от SeBun
Перенос сайта на другой компьютер

Автор bekap

Ответов: 15
Просмотров: 2802
Последний ответ 17.11.2023, 09:44:03
от Театрал
Название сайта на картинке

Автор VIK4

Ответов: 5
Просмотров: 2170
Последний ответ 16.10.2023, 12:48:19
от VIK4
Проблема с почтой сайта на Joomla

Автор dima567

Ответов: 1
Просмотров: 1848
Последний ответ 16.09.2023, 09:44:41
от sivers