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

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Здравствуйте. подкажите как в модуле сделать чтобы пункты меню росположились в ряд во всю ширину сайта, а не в столбец? спасибо
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Присвойте модулю свой стиль и при помощи CSS выставить для пункта меню - float:left;
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Присвойте модулю свой стиль и при помощи CSS выставить для пункта меню - float:left;
а можно поподробней, а то я новичок
*

fenrir

  • Осваиваюсь на форуме
  • 22
  • 2 / 1
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Я бы display:inline-block лучше сделал.
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Етот вопрос я уже решил. установил модуль горизонтального меню.
подскажите как сделать следующее: в етом меню я к каждому пункту прикрепил картинку, но она отображается слева от текста  , а мне надо чтобы текст под картинкой был:?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Я бы display:block задал картинке.
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Я бы display:block задал картинке.
а как найти ету строку и перед чем ставить. ? можно поподроней а то я в CSS не очень
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
С помощью файрбага смотрите, потом в CSS пишите.
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
С помощью файрбага смотрите, потом в CSS пишите.
сделал спасибо. теперь картинка над текстом, но по левому краю. как сделать чтоб по средине
« Последнее редактирование: 11.12.2014, 04:26:28 от nikolasmax »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Это уже сложнее. Допустим, структура у вас такая (какая реально, я не могу знать, ссылку на сайт вы не выложили):

Код: html4strict
<ul class="menu">
<li><a><img>текст</a></li>
<li><a><img>текст</a></li>
<li><a><img>текст</a></li>
</ul>

Тогда стили будут такими:

Код: css
.menu li,
.menu li * {
display:inline-block;
vertical-align:top;
text-align:center;
}

Никаких float, естественно, быть не должно.
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Это уже сложнее. Допустим, структура у вас такая (какая реально, я не могу знать, ссылку на сайт вы не выложили):

Код: html4strict
<ul class="menu">
<li><a><img>текст</a></li>
<li><a><img>текст</a></li>
<li><a><img>текст</a></li>
</ul>

Тогда стили будут такими:

Код: css
.menu li,
.menu li * {
display:inline-block;
vertical-align:top;
text-align:center;
}

Никаких float, естественно, быть не должно.
вот строка. куда нужно вставить? img{max-width:100%;width:auto \9;height:auto;vertical-align:middle;display:block;border:0;-ms-interpolation-mode:bicubic;}#map_canvas img
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Это нужно вставить в css-файл, привязав к меню селектором и не забыв предварительно обнулить унаследованные стили картинки (судя по строке, у вас тут глобально задано).
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Это нужно вставить в css-файл, привязав к меню селектором и не забыв предварительно обнулить унаследованные стили картинки (судя по строке, у вас тут глобально задано).
вот файл модуля меню, ul.nav.horizmenu,
ul.nav.horizmenu ul {
   list-style: none;
   padding: 0;
   position: relative;
}
ul.nav.horizmenu li {
    float: left;
}
ul.nav.horizmenu li a {
   display: block;
}
ul.nav.horizmenu li.parent ul {
   position: absolute;
   visibility: hidden;
   margin: 0;
   padding: 0;
}
ul.nav.horizmenu li.parent:HOVER > ul {
   visibility: visible;
}
ul.nav.horizmenu li.parent:HOVER .nav-child .nav-child {
   
}
ul.nav.horizmenu li.parent li.parent a {
    float: left;
    white-space: nowrap;
}
ul.nav.horizmenu li.parent li  {
   clear: left;
}
.horizmenu_clr {
    clear: left;
}
ul.nav.horizmenu .nav-child .nav-child {
    left: 100%;
}
« Последнее редактирование: 11.12.2014, 05:07:20 от nikolasmax »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
По коду ничего не понять.
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
По коду ничего не понять.
[/quote
« Последнее редактирование: 12.12.2014, 17:54:19 от nikolasmax »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Код: css
ul.nav.horizmenu li a {
text-align: center;
}
*

nikolasmax

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Код: css
ul.nav.horizmenu li a {
text-align: center;
}
спасибо большое
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двойное меню

Автор cirip

Ответов: 0
Просмотров: 1506
Последний ответ 05.11.2024, 23:19:21
от cirip
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4687
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 7422
Последний ответ 23.05.2023, 07:22:49
от geral
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 3174
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 4159
Последний ответ 20.03.2023, 12:42:49
от Andre100