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

anuta90

  • Захожу иногда
  • 53
  • 0 / 0
Нужно чтобы контент и модули слева были одинаковой высоты. То есть чтобы высота контента подгонялась под высоту модулей. Как это сделать?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Очень просто, путем подбора размера шрифта и количества символов в контенте, чтобы это соответствовало вашим требованиям, а далее пишите ... "далее". Но придется смириться с фиксированной шириной страницы.
  :laugh:
C помощью CSS можна сделать так:
Заключаете обе колонки в общий див. Ему назначаете свойство overflow:hidden;
А блоку с контентом и колонке назначаете свойства
padding-bottom:10000px;
margin-bottom:-10000px;
У этого метода есть один недостаток - нельзя блокам нижнюю линию поставить - её просто не будет видно.
« Последнее редактирование: 20.04.2011, 17:05:26 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Есть интересный вариант - его почти описал Efanych, я где-то на форуме выкладывал класс под mootools 1.1, получится примерно так (извиняюсь заранее за ссылку): http://filmix.net/ - слева там блок с полосой прокрутки ("Категории фильмов"), как вариант можно сделать аналогично для основного контента, в этом случае если высота области контента превышает высоту области модулей, то ставится вертикальный скролл для блока.
----------------------------
Вот собственно - [РЕШЕНИЕ] Вертикальный скролл (mootools 1.1)
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
Можно регулировать и через шрифт, но лучше через количество букв.
Вы бред несёте.
 А если на главной странице публикуются последние новости в количестве 30 штук, а на другой страничке 1 материал? А если на сайте 10000 страничек? Вы много сайтов видели, где все странички одинаковые?
Цитировать
Вопрос не о колонках, а высоте меню (anuta90 назвала их модулем)
Цитировать
Нужно чтобы контент и МОДУЛИ слева были одинаковой высоты.
Она их так назвала, потому что они так называются. И их может быть несколько, и не на всех страничках одинаковое количество.
Создание сайтов, шаблонов, помощь в решении проблем.
*

anuta90

  • Захожу иногда
  • 53
  • 0 / 0
Очень просто, путем подбора размера шрифта и количества символов в контенте, чтобы это соответствовало вашим требованиям, а далее пишите ... "далее". Но придется смириться с фиксированной шириной страницы.
да уж извините, это и правда бред. Это не сайт визитка с фиксированным содержанием. На одной странице текст, на другой интернет магазин и т.д.
  :laugh:
C помощью CSS можна сделать так:
Заключаете обе колонки в общий див. Ему назначаете свойство overflow:hidden;
А блоку с контентом и колонке назначаете свойства
padding-bottom:10000px;
margin-bottom:-10000px;
У этого метода есть один недостаток - нельзя блокам нижнюю линию поставить - её просто не будет видно.
этот способ мне как раз не подходит, по той причине, что внизу под основным контентом есть модуль во всю ширину и если так сделать, то его просто не будет видно...

вот я и думаю как еще можно сделать, в верстке я не сильна, но очень хочется добиться нужного эффекта...
*

anuta90

  • Захожу иногда
  • 53
  • 0 / 0
Есть интересный вариант - его почти описал Efanych, я где-то на форуме выкладывал класс под mootools 1.1, получится примерно так (извиняюсь заранее за ссылку): http://filmix.net/ - слева там блок с полосой прокрутки ("Категории фильмов"), как вариант можно сделать аналогично для основного контента, в этом случае если высота области контента превышает высоту области модулей, то ставится вертикальный скролл для блока.
----------------------------
Вот собственно - [РЕШЕНИЕ] Вертикальный скролл (mootools 1.1)
а вот это можно поробовать:) спасибо, посмотрим, что из этого получится
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать появление случайных картинок из пяти разных категорий?

Автор Katy93

Ответов: 2
Просмотров: 2903
Последний ответ 03.05.2021, 21:34:20
от sivers
Как сделать бэкап сайта

Автор egorovv

Ответов: 8
Просмотров: 7890
Последний ответ 06.06.2020, 12:09:43
от SeBun
Как сделать отображение третьего и далее уровней меню?

Автор Hloja_Blimm

Ответов: 12
Просмотров: 2205
Последний ответ 24.11.2017, 15:12:04
от Hloja_Blimm
Как сделать категорию в виде таблицы с настраевыми колонами?

Автор nagav

Ответов: 10
Просмотров: 2058
Последний ответ 24.10.2016, 08:37:27
от vipiusss
Как сделать, чтобы внутренняя страница не показывалась в качестве главной?

Автор kpripper

Ответов: 21
Просмотров: 2560
Последний ответ 19.03.2016, 16:51:11
от flyingspook