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

Moaddib

  • Новичок
  • 7
  • 0 / 0
Доброго времени суток.
Очень интересует данный вопрос..
Поподробнее:
есть сайт, в котором есть ряд разделов: спутниковые данные, програмное обеспечение, новости...
нужно, чтобы каждый раздел имел как минимум разные фоновые картинки...
использую Joomla Версия 1.5.22
видоизмененный шаблон caprica (фоновая картинка как-бы обтекает сайт)
Все, что находил в инете касалось Joomla 1.0

гуглю шерстил...
по теме - чайник :(

данное решение недоступно - отсутствует возможность данных действий...
пробовал использовать Templating - или не настраиваются или не подходят...

Может кто подскажет как ручками с помощью CSS сделать?
Динамических изменений не нужно!!
« Последнее редактирование: 23.03.2011, 09:51:29 от Moaddib »
*

Moaddib

  • Новичок
  • 7
  • 0 / 0
РЕАЛИЗОВАЛ!!

Использовал FireBug и модуль mod_background:
Просмотр показал создание кода в css:
877 строка
Код
#body {
background     : #716C65 url(../images/body_bg.jpg) repeat top left;
width        :100%;
height       :100%;
}
раньше его не было...
пришлось видоизменить вручную данный код на такой:
Код
#body {
background     : #716C65 url(../images/body_bg.jpg) repeat top center;
text-align   : center;
margin       :0;
padding      :0;
width        :100%;
height       :100%;
}


также пришлось удалить
код с 884 строки:
Код
#maincontainer{
background   : url(../images/main_bg.png) no-repeat top center;
text-align   : center;
margin       :0;
padding      :0;
width        :100%;
height       :100%; 
}
данный код забивал #body и выводился поверх...
Для выбора фона нужно лишь включить очередной модуль, а также при настройке включить Суффикс класса модуля.
Надеюсь, кому-то поможет! :)
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
А по условию в шаблоне в зависимости от itemID слабо сделать было? О_о
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Moaddib

  • Новичок
  • 7
  • 0 / 0
в том-то и дело, что слабо...
писал-же - по теме чайник...
если бы было не слабо, то помощи не просил-бы  ;)

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

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
А в факе для кого это написано?
http://joomlaforum.ru/index.php/topic,84596.0.html    ---   Различные условия в шаблонах Joomla 1.5


Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Moaddib

  • Новичок
  • 7
  • 0 / 0
решения моей проблемы там не нашел...
1 не использую сео
2 нужно изменение только фона, записанного изначально в #maincontainer
3 в сиесес как и в Joomla плаваю - самому разбираться пришлось-бы ооооочень долго, а нужно быстро решить :)

если есть возможность, прошу объяснить на пальцах, если нет - прошу не пинать за подобное решение...
тему, указанную Вами читал - мне она ничего не сказала (практически использовать не смогу пока, а теория не помогает)

если не сложно, подскажите как и куда вставлять АйДи...
Заранее благодарен.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
http://joomlaforum.ru/index.php/topic,67278.0.html

И что в данной теме не понятно? Разжевали всё от и до, писать по десятому разу, да еще и готовые решения никто не будет, голова дана чтобы думать, а не только в неё есть.

Кстати, там же почти в самом начале есть ссылка на то, где разжевали что такое itemID - http://joomlaforum.ru/index.php/topic,12816.0.html
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Что сложно написать:
Код: php
<?php 
  $Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
  if ($Itemid == 1)  { $bgimg="1" }
  elseif ($Itemid == 5) { $bgimg="2" }
  elseif ($Itemid == 17) { $bgimg="3"}
  else { $bgimg="0" }
?>
<body id="body" style="background: #716C65 url(bg_<?php echo $bgimg ?>.jpg) repeat top center">
В template.css вписать только:
Код: css
#body {
text-align   : center;
margin       :0;
padding      :0;
width        :100%;
height       :100%;
}
Это в разы легче чем ваши танцы с модулями. Аналогичная схема (только для вывода модулей) описывается в FAQ.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Moaddib

  • Новичок
  • 7
  • 0 / 0
спасибо огромное!! буду далее ковыряться!


*

Moaddib

  • Новичок
  • 7
  • 0 / 0
выдает ошибку
Parse error: syntax error, unexpected '}'
на строке
 
Код
if ($Itemid == 1)  { $bgimg="1" }
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
if ($Itemid == 1)  { $bgimg="1"; }
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Moaddib

  • Новичок
  • 7
  • 0 / 0
 yes!
Спасибо огромное еще раз!
Все получилось и работает!
Действительно удобнее и быстрее все работает!
В моем случае пришлось все-таки потушить #maincontainer
+ в карму поставить не получается - думаю из-за количества сообщений...
в любом случае - наберу побольше - поставлю!
 *DRINK*

сейчас попытаюсь переделать код под #maincontainer - авось и это получится :)
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Поясню в чем плюс - эта конструкция дает меньшую нагрузку нежели модули.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4027
Последний ответ 12.11.2023, 23:37:03
от all_zer
Вместо некоторых разделов стали отображаться пустые страницы

Автор ch

Ответов: 0
Просмотров: 1268
Последний ответ 04.12.2020, 15:07:27
от ch
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9693
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2196
Последний ответ 14.08.2020, 07:16:44
от rsn
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97151
Последний ответ 06.10.2019, 16:55:45
от PaLyCH