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

vheinitz

  • Новичок
  • 1
  • 0 / 0
Давно хочу реализовать такой проэкт. Ищу наиболее подходящуй стэк/платформу. Подскажите пожалуйста, можно такое на юмле сделать? Если да, что можно готовое взять, что самому придётся делать?
За грамотную консультацию буду рад заплатить. (vheinitz@googlemail.com, Валентин)

Идея, создать портал или что-то вроде социальной сети для заочного лечения. Каждый нуждающийся сможет описать свою болезнь по грамотно составленной анкете, и какой-либо гомеопат, консилиум гомеопатов или более сведующий пользователь сможет дать какие-то советы. Сайт должны мониторить грамотные люди. Совет может дать каждый, но у пользователей должен быть виден статус врач/не врач. Пациент решает сам верить не верить. Пациент сможет дать отчёт о проделанной терапии.

Проект Open-Source и строго не коммерческий. (У меня сын аутист. Лечим последний год гомеопатией. Успехи окрыляющие,
затраты по сравнению со всем тем что мы делали 4 года до этого - капейки. Хотелось бы помочь и друим выйти на этот путь и спасти их детей.)


1 Роли
    Пользователь
    * Админ
    * Врач
    * Пациент

1.1 Админ:
    разворачивает систему
    Конфигурирует систему для 1/много врачей
    Удаляет пользователей

1.2 Врач
    Заполняет профиль (Опционально)
    создаёт анкеты
    принимает/отвергает/удаляет пациента.

1.3 Пациент
    Выбирает врача
    заполняет анкету

3 Структура анкеты
    Название (строчка, появляющаяся в списке)
    Описание (Несколько строчек техта)
    ИД кем создана
    ИД от которой анкеты унаследована
    Видимость (Толко определённые пациент/все)
    Дата последней модификации
    лог модификаций (техт)
    Инструкции по заполнению (html-техт)

4 Структура Вопроса
    ИД парент-вопроса
    Уровень (для быстрого показа глав, если можно без, тоже хорошо)
    Условие, при котором показать суб-вопросы
    Короткий вопрос (строчка)
    более длинная версия (несколько строчек)
    Инструкции для ответа (html. напр: введите число, кликните на картинке место)
    Помощ (разяснение, почему такой вопрос, ссылки, информация - html)
    Тип ответа (тип значения + тип ввода)
    Возможно ли добавить файл (bool)
    Возможно ли текстовое дополнение к ответу

Объяснение к ИД парент-вопроса: Опроник можно сделать в виде дерева. Вопросы могут являться контейнером для под-вопросов. При этом на вопрос можно ответить или нет. Так-же под-вопросы могут быть показаны или нет в зависимости от ответа на парент-вопрос.

Напр: Вопрос как контейнер главы: "Личные данные".
Тут ответ не нужен, пользователь просто нажимает на ОК прочитав инструкции.

Напр: Вопрос как главный с подвопросами: "Болит ли голова?"
Тут при "да" появляются подвопросы напр "где, когда" итп.

5 Структура Ответа
    ИД вопроса
    ИД анкеты
    ИД пациента
    ИД интервью
    Дата ответа
    Версия анкеты
    Ответ (значение зависит от типа)
    Текстовый ответ (если разрешено в вопросе)
    Прикрепленные файлы, (если разрешено в вопросе)

6 Структура Интервью
    ИД анкеты
    ИД пациента
    ИД Врача
    Дата начала заполнения
    Видимость (всем, только определённым пользователям)
« Последнее редактирование: 02.07.2016, 12:51:35 от vheinitz »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Подскажите пожалуйста, можно такое на юмле сделать?
А кто это?
и какой-либо гомеопат, консилиум гомеопатов или более сведующий пользователь сможет дать какие-то советы.
Ой всё..
*

katod

  • Новичок
  • 9
  • 1 / 0
на Joomla это вполне реально сделать, но из компонентов не советовал бы вам соц.сети ставить(разве что Community Builder). а в идеале сделать все на SEBLOD.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Главная страница, надпись Home убрать

Автор Pasha89

Ответов: 7
Просмотров: 3203
Последний ответ 18.11.2025, 13:15:47
от all_zer
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 4891
Последний ответ 05.06.2025, 04:48:29
от andrey222
Не создается и не дублируется страница в приложении

Автор Слава

Ответов: 0
Просмотров: 788
Последний ответ 18.10.2023, 12:12:43
от Слава
Несуществующая страница отдает код 200

Автор Zegeberg

Ответов: 2
Просмотров: 975
Последний ответ 28.09.2023, 15:18:43
от web1
После авторизации открывается не та страница

Автор romagromov

Ответов: 1
Просмотров: 832
Последний ответ 09.12.2022, 22:28:46
от romagromov