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

PREMIER

  • Захожу иногда
  • 164
  • 5 / 0
  • Самое важное — это мир во всём мире!
Здравствуйте. Есть стандартный шаблон Protostar в Joomla 3.1 у него есть позиция "position-1" в которую выводится главное меню. Это меню имеет верхний и нижний бордер. Вот такой код за это отвечает в index.php
Код
      <?php if ($this->countModules('position-1')) : ?>
      <nav class="navigation" role="navigation">
        <jdoc:include type="modules" name="position-1" style="none" />
      </nav>
      <?php endif; ?>
Нужно вывести два разных модуля и чтобы второй не стал ниже первого, как получится если опубликовать два модуля в одной позиции, а чтобы второй модуль выровнялся по горизонтали.

Подскажите пожалуйста. Как это сделать?

Если сделать как-то вот так:

Код
      <nav class="navigation" role="navigation">
    <div style="float: left;">
        <jdoc:include type="modules" name="position-1" style="none" />
    </div>
    <div>
        <jdoc:include type="modules" name="position-11" style="none" />
    </div>
      </nav>

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

PREMIER

  • Захожу иногда
  • 164
  • 5 / 0
  • Самое важное — это мир во всём мире!
Если у второго модуля как и у модуля навигации прописать суффикс " nav-pills" - на ПК выглядит нормально, но во-первых: на мобильных устройствах коряво выглядит, во-вторых: вообще код какой-то корявый получается. Подскажите пожалуйста как можно сделать по нормальному?
*

apikron

  • Захожу иногда
  • 152
  • 2 / 0
Народ! Подскажите, пожалуйста, как в шаблоне protostar отредактировать размеры модульной позиции position-7? Размеры у этой позиции какие-то фиксированные, а желательно, чтобы зависили от размера вставленной картинки. Например вставляем в эту позицию картинку меньшую по размерам и ширина модульной позиции автоматически уменьшалась.
*

vegushka

  • Давно я тут
  • 523
  • 36 / 1
  • Мажьте лоб вазеленкой
а если в настройках шаблона сделать его "резиновым"?
ненавижу icetheme, обожаю Rockettheme
Ваше спасибо - в репу, а лучше на Яндекс 41001140731879
*

apikron

  • Захожу иногда
  • 152
  • 2 / 0
Нет! Резиновым не вариант! Нужно на фиксированном.
*

vegushka

  • Давно я тут
  • 523
  • 36 / 1
  • Мажьте лоб вазеленкой
ссылку на сайт, можно в личку. Под рукой нет сайта с фиксированным шаблоном.
ненавижу icetheme, обожаю Rockettheme
Ваше спасибо - в репу, а лучше на Яндекс 41001140731879
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Вот почитай, про сетку в bootstrap http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem
Protostrar на нём сделан.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Народ! Подскажите, пожалуйста, как в шаблоне protostar отредактировать размеры модульной позиции position-7? Размеры у этой позиции какие-то фиксированные, а желательно, чтобы зависили от размера вставленной картинки. Например вставляем в эту позицию картинку меньшую по размерам и ширина модульной позиции автоматически уменьшалась.
Ширина блока зависит от контента . Просто замени в шаблоне простостар class="span3" , на свой класс.
Можно переопределить класс модуля с помощью суффикса. Да вариантов много.
*

apikron

  • Захожу иногда
  • 152
  • 2 / 0
Спасибо всем за ответы! Буду смотреть!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Разобраться с областью компонента в шаблоне

Автор gorbi_U

Ответов: 7
Просмотров: 2227
Последний ответ 04.02.2023, 10:45:14
от sivers
При обновлении плагина helix3 слетает сендвич в мобильном шаблоне

Автор gorbi_U

Ответов: 0
Просмотров: 1612
Последний ответ 25.01.2023, 10:55:44
от gorbi_U
Криво выводятся `title` & `data-original-title` в шаблоне

Автор Аня

Ответов: 2
Просмотров: 2218
Последний ответ 16.04.2022, 23:44:10
от onniby
Protostar css подвинуть модуль на мобильном

Автор Елeна

Ответов: 0
Просмотров: 760
Последний ответ 25.03.2022, 09:37:52
от Елeна
Проблемы с меню в шаблоне Shaper_helix3

Автор Helgi

Ответов: 8
Просмотров: 1471
Последний ответ 18.01.2022, 10:47:11
от draff