Новости 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

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

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

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

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

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
На сайте есть каталог.
Выглядит как дерево из категорий и под категорий.
Максимальная глубина 5.

Пункт меню > 60 категорий - остальное под категории и под категории под категорий  :laugh:

Все вместе это 2000+ страниц...

Бог с ним то что в админ.панел под тупливает.

А вот если при нажатии на сайте на этот каталог, происходит 3-5 секундное залипание.

Все пока на локалке, но оч не путево что будет залипать...((( = Кэширование пока отключено.

Есть решение ?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Кэширование пока отключено.
JotCache вам в помощь! Без кэширования тут никак не обойтись.
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
JotCache вам в помощь! Без кэширования тут никак не обойтись.

JotCache и родной "Система - Кэш" - это не одно и тоже ?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
Каталог на чем?

Не на чем.
просто создал структуру из категорий - под категорий и через JCE все перелинковал.
*

wishlight

  • Гуру
  • 5072
  • 319 / 1
  • От 300 руб быстрый хостинг. Сервера.
Может у вас localhost такой. А отладку показать можете?
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
конечно, подскажите как)
*

wishlight

  • Гуру
  • 5072
  • 319 / 1
  • От 300 руб быстрый хостинг. Сервера.
Включить в общих настройках сайта. И посмотреть.
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
Включить в общих настройках сайта. И посмотреть.

Включил, файл error.php пока пустой...
*

wishlight

  • Гуру
  • 5072
  • 319 / 1
  • От 300 руб быстрый хостинг. Сервера.
Отладка выводится во фронтенде сайта снизу. Обычно. Если есть позиция debug.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Стандартное кэширование в настройках и плагин система-кэш. Либо более быстрый хостинг. Либо оптимизация MySQL на сервере. Либо кэширование средствами nginx. Либо оптимизация запросов.
В порядке сложности написал, выбирайте.

А для начала в каждом пункте меню укажите конкретные категории откуда берутся материалы. Выбрать эту и все подкатегории - медленное решение.
« Последнее редактирование: 15.11.2015, 12:56:27 от ChaosHead »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
JotCache и родной "Система - Кэш" - это не одно и тоже ?
Нет. Это плагин, который кэширует страницы целиком, что родной кэш не делает.
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
Может у вас localhost такой. А отладку показать можете?

Где рыться ? как оптимизировать ?

Код
Время: 0.0 ms / 0.0 ms Память: 1.131 MB / 1.13 MB Application: afterLoad
Время: 67.3 ms / 67.3 ms Память: 5.225 MB / 6.36 MB Application: afterInitialise
Время: 21.4 ms / 88.7 ms Память: 1.256 MB / 7.61 MB Application: afterRoute
Время: 2731.1 ms / 2819.8 ms Память: 30.852 MB / 38.46 MB Application: afterDispatch
Время: 40.2 ms / 2859.9 ms Память: 1.246 MB / 39.71 MB Application: beforeRenderModule mod_custom (Social Icons)
Время: 4.4 ms / 2864.3 ms Память: 0.053 MB / 39.76 MB Application: afterRenderModule mod_custom (Social Icons)
Время: 2.5 ms / 2866.8 ms Память: 0.001 MB / 39.77 MB Application: beforeRenderModule mod_menu (Main Menu)
Время: 10.2 ms / 2877.0 ms Память: 0.126 MB / 39.89 MB Application: afterRenderModule mod_menu (Main Menu)
Время: 11.9 ms / 2888.9 ms Память: 0.363 MB / 40.25 MB Application: beforeRenderModule mod_breadcrumbs (Хлебные крошки)
Время: 6.2 ms / 2895.1 ms Память: 0.091 MB / 40.35 MB Application: afterRenderModule mod_breadcrumbs (Хлебные крошки)
Время: 3.5 ms / 2898.6 ms Память: 0.000 MB / 40.34 MB Application: beforeRenderModule mod_custom (Footer)
Время: 2.9 ms / 2901.5 ms Память: 0.000 MB / 40.31 MB Application: afterRenderModule mod_custom (Footer)
Время: 79.8 ms / 2981.3 ms Память: 0.876 MB / 41.19 MB Application: afterRender
« Последнее редактирование: 22.11.2015, 01:16:09 от Xzizz »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
Сказали же - кэш.
Спасибо, думал как то до его включения можно еще оптимизировать. Спасибо.

Вот только можно еще 1 вопрос.
Пробовал JotCache и отдельно Система-Кэш.
Так вот Система-Кэш работает очень быстро, с JotCache такой скорости не достигал и там проблема с хлебными крошками, хоть и поставил модуль в исключение.
Что лучше использовать JotCache грамотно настроенный или Система-Кэш ? - что выбрали бы вы ?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Я с JotCache не работал.
Выбрал бы системный вариант, а в случае особо большой нагрузки - прозрачное проксирование в nginx.

Но, что-тол мне кажется что тут речь не о портале в сотни тысяч посещений.
*

Xzizz

  • Захожу иногда
  • 172
  • 1 / 0
Я с JotCache не работал.
Выбрал бы системный вариант, а в случае особо большой нагрузки - прозрачное проксирование в nginx.

Но, что-тол мне кажется что тут речь не о портале в сотни тысяч посещений.

Отлично. Да, с целью 100.000 посещений я бы сам тут не пилил. Спасибо, очень помогли, а то пытался подружиться с лишним компонентом.
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Нет. Это плагин, который кэширует страницы целиком, что родной кэш не делает.

Родной плагин систем - кэш тоже кэширует страницы целиком .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Обычно на система-кэш "бочку катят", когда включают прогрессивное кэширование, а не стандартное. Думают, что оно быстрее, а от него наоборот толку мало: http://joomlaforum.ru/index.php/topic,305344.new.html
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Стандартное или прогрессивное кэширование в системе, которое включается в настройках и плагин кэширования страниц "система-кэш" разные вещи . Не надо их путать .
Плагин кэширования сохраняет страницы целиком . А системное кэширование сохраняет кусочки модулей и компонентов отдельно . И при отображении страницы собирает эти кусочки вместе .
И если включен плагин, именно он будет срабатывать, а не системный кэш . Об этом кстати и написано достаточно подробно в приведённой для примера статье . .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
JotCache — это и есть продолжение стандартного системного плагина Page Cache, без которого JotCache не работает. Данное расширение делает возможным исключать позиции модулей, позволяет закэшировать страницы кравлером и кучу всего другого. Я никогда не рекламирую сторонние расширения, сам являюсь сторонником стандартного функционала, но JotCache - исключение. Я вообще не знаю, как бы я смог без него "прожить" :]
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Стандартное или прогрессивное кэширование в системе, которое включается в настройках и плагин кэширования страниц "система-кэш" разные вещи . Не надо их путать .
Плагин кэширования сохраняет страницы целиком . А системное кэширование сохраняет кусочки модулей и компонентов отдельно . И при отображении страницы собирает эти кусочки вместе .
И если включен плагин, именно он будет срабатывать, а не системный кэш . Об этом кстати и написано достаточно подробно в приведённой для примера статье .
В этой статье статье сказано что "Типы кэшей работают как непрозрачные слои друг над другом (исключая кэш модуля / представления компонента, который работает параллельно)."
Можете повключать различные виды кэша и посмотреть какой кэш генерируется в папке cache. Я вижу, что кэширование модулей и кэширование страниц работает параллельно и дополняет друг друга.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Не поможет никакой кеш из-за того как хранится ACL (в nested sets) и будет тупить! Вариант один! Отказ от стандартного менеджера материалов!
я уже молчу о том что будет происходить с ростом количества материалов, при 10+ тысячах материалов будет в админке материал сохраняться минуты две..
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Не поможет никакой кеш из-за того как хранится ACL (в nested sets) и будет тупить! Вариант один! Отказ от стандартного менеджера материалов!
я уже молчу о том что будет происходить с ростом количества материалов, при 10+ тысячах материалов будет в админке материал сохраняться минуты две..
Если ACL на уровне материалов не используется, то можно применять костыль - удалять из бд всю информацию о ACL материалов запросом:
Цитировать
DELETE FROM  `jos_assets` WHERE  `name` LIKE  '%com_content.article.%' AND `id`!=1
Используем, никаких последствий, кроме ускорения работы не замечено. При повторном сохранении материала запись создаётся заново.
В принципе можно и плагин написать, чтобы при сохранении материала подчищалась информация об ACL, раз уж разработчики не предусмотрели такой настройки.
« Последнее редактирование: 23.11.2015, 00:08:48 от ChaosHead »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Если ACL на уровне материалов не используется, то можно применять костыль - удалять из бд всю информацию о ACL материалов запросом:Используем, никаких последствий, кроме ускорения работы не замечено.
пробовал, ACL пересаздается при первом же входе в админку..(хотя это было в 3.0.х версии, может сейчас уже и нет)
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
О как. Ранние 3.0.х я пропустил. Сейчас у меня не пересоздаётся.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
А не проще делать как все - если много материалов, то использовать зу, например.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Теперь то проще, если новый делать, но сайты работают ещё с Joomla 2.5.x, а там такой "фичи" не было. Слишком много всего переделывать.
*

sabnok

  • Захожу иногда
  • 126
  • 1 / 0
А не проще делать как все - если много материалов, то использовать зу, например.

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

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1390
Последний ответ 21.05.2025, 12:44:06
от jeans
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1464
Последний ответ 24.03.2025, 20:03:01
от R31rus
Пагинация страниц

Автор Anna_N

Ответов: 3
Просмотров: 821
Последний ответ 06.01.2025, 02:45:52
от pavelrer
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1434
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav
Антивирус нашел вредоносный код в двух файлах сайта polyfill

Автор buto

Ответов: 4
Просмотров: 1253
Последний ответ 19.10.2024, 10:56:55
от wishlight