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

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Component checker
« : 18.07.2016, 17:41:08 »
Небольшой плагин, в настройках которого можно указать к каким компонентам дозволено обращаться, и куда направлять (главная или страница ошибки 403) если вызывается компонент которого нет в списке.

[spoiler title=Скрин][/spoiler]

http://joom.work/componentchecker
« Последнее редактирование: 21.07.2016, 12:35:06 от saharin88 »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Component checker
« Ответ #1 : 18.07.2016, 17:59:00 »
чего-то я смысла плагина не понял)
зачем ставить какой-то компонент если к нему будет закрыт доступ?
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #2 : 18.07.2016, 18:01:33 »
чего-то я смысла плагина не понял)
зачем ставить какой-то компонент если к нему будет закрыт доступ?
пример: я написал свой компонент, других (дефолтных не использую), я использую zoo или другой подобный, а стандартный com_content мне не нужен и тд, + в плане безопасности вы ограничиваете возможности злоумышленников, разрешая доступ только к нужным компонентам
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Component checker
« Ответ #3 : 18.07.2016, 18:08:28 »
ну не знаю, довольно странная идея)
разве что отключить стандартные компоненты для безопасности
вполне возможно что в них и найдут дыры, то пофиксят быстро
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #4 : 18.07.2016, 18:12:00 »
а что мешает просто в управлении расширениями просто отключить ненужные компоненты? тогда с фронта к ним и так не подобраться будет
сори ТС, это самая бесполезная ваша затея :)
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #5 : 18.07.2016, 18:14:12 »
ну не знаю, довольно странная идея)
разве что отключить стандартные компоненты для безопасности
вполне возможно что в них и найдут дыры, то пофиксят быстро
почему странная, вот я неоднократно сталкивался с таким, есть проект, на котором используется только мой написанный компонент, дефолтные мне не нужны...
зачем кому то видеть com_users, com_content и тд
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #6 : 18.07.2016, 18:16:18 »
а что мешает просто в управлении расширениями просто отключить ненужные компоненты? тогда с фронта к ним и так не подобраться будет
сори ТС, это самая бесполезная ваша затея :)

чет я не понял как вы собираетесь отключить дефолтные компоненты?)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #7 : 18.07.2016, 18:23:38 »
Все, что не используется - отключено. т.е. снято с публикации, и доступа с фронта без прав суперадмина у вас к отключенному никогда не будет

*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #8 : 18.07.2016, 18:27:55 »
отключите материалы или метки, AJAX и тд )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #9 : 18.07.2016, 18:32:18 »
не вопрос, все прекрасно работает и в отключенном виде, главное - не иметь привязок меню к отключенным компонентам

доступ к аяксу с фронта вы и так не получите - это компонент, доступный только для админки и с фронта вызывается только через фреймворк

материалы и метки и так отключены, ибо юзается зу, баннеры и умный поиск вообще на корню бы вырезал как зло, но потом при обнове глючит, приходится отключенными держать
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #10 : 18.07.2016, 18:34:23 »
не вопрос, все прекрасно работает и в отключенном виде, главное - не иметь привязок меню к отключенным компонентам
ну так вы можете их отключить или нет?
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #11 : 18.07.2016, 18:35:59 »
я к тому что их отключить нельзя http://screencast.com/t/QNtf2SrNPz5o
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Component checker
« Ответ #12 : 18.07.2016, 18:44:19 »
Полезный плагин. Плюс.
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #13 : 18.07.2016, 18:52:15 »
Полезный плагин. Плюс.
Спасибо!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #14 : 18.07.2016, 18:56:07 »
я к тому что их отключить нельзя http://screencast.com/t/QNtf2SrNPz5o
ну это просто: лезем в базу и одним запросом убираем у всех расширений флаг системности, после чего можно отключить любое расширение, только тут осторожным быть надо

вы бы лучше сделали компонентик простенький на 1 вид, который бы позволял делать расширения системными/несистемными - это было бы полезней
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #15 : 18.07.2016, 18:59:58 »
вы бы лучше сделали компонентик простенький на 1 вид, который бы позволял делать расширения системными/несистемными - это было бы полезней
зачем это?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #16 : 18.07.2016, 19:01:11 »
затем. чтобы иметь возможность не залезая в базу отключить ненужные системные расширения
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #17 : 18.07.2016, 19:02:17 »
затем. чтобы иметь возможность не залезая в базу отключить ненужные системные расширения
так вот же мой плагин решает это :)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #18 : 18.07.2016, 19:08:09 »
плагин - это нагрузка на систему, он же ведь каждый раз вызывается для проверки URL? да, нагрузка минимальна, но сколько таких минимальностей может быть в итоге? решение с отключением расширения - более кошерное, а попытка прорыва к отключенному расширению все равно в итоге приведет в 404
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #19 : 18.07.2016, 19:14:49 »
плагин - это нагрузка на систему, он же ведь каждый раз вызывается для проверки URL? да, нагрузка минимальна, но сколько таких минимальностей может быть в итоге? решение с отключением расширения - более кошерное, а попытка прорыва к отключенному расширению все равно в итоге приведет в 404

да, в принципе согласен, что есть минимальная нагрузка
« Последнее редактирование: 18.07.2016, 19:28:03 от saharin88 »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Component checker
« Ответ #20 : 18.07.2016, 19:27:36 »
на момент вызова onAfterRoute все что можно - уже нагружено, все необходимое отработало и сформировало конечный контент на дальнейший рендер на фронт, а главное - все запросы куда надо уже прошли... плагин оказывается еще и небезопасен

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

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #21 : 18.07.2016, 19:43:48 »
на момент вызова onAfterRoute все что можно - уже нагружено, все необходимое отработало и сформировало конечный контент на дальнейший рендер на фронт, а главное - все запросы куда надо уже прошли... плагин оказывается еще и небезопасен

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

буду возражать, видимо вы слабо осведомлены когда какое событие вызывается, onAfterRoute  вызывается еще до рендеринга страницы
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Component checker
« Ответ #22 : 18.07.2016, 22:34:20 »
Не буду вдаваться в полезности/бесполезности расширения.
Замечу лишь бесполезность этого призыва:
Поддержите пожалуйста финансово
Если есть энтузиазм и время, то просто продолжайте выкладывать бесплатные расширения. Вы же знаете, кто эти 99,5% форумчан и за чем они сюда приходят.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: Component checker
« Ответ #23 : 21.07.2016, 12:36:29 »
Раз такие дела, выложил в паблик
http://joom.work/componentchecker
« Последнее редактирование: 21.07.2016, 13:36:43 от saharin88 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться