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

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Как и где нужно изменить перенаправление после регистрации пользователей на сайте, по умолчанию переходит на главную, а нужно на другую.
Буду очень признателен за помощь.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
В настройках модуля авторизации (страница при входе, страница при выходе) - через Менеджер модулей в админке
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
да я это знаю. я хочу дополнительную форму опроса воткнуть, и что бы только при регистрации был переход, а когда просто заходит то переносила как обычно
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
components/com_user/controller.php
Цитировать
function register_save()
{
...
$this->setRedirect('index.php', $message);
}
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Попробовал не получилось сделал по другому воткнул сначала эту форму потом только регистрация но тема актуальна
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Попробовал не получилось сделал по другому воткнул сначала эту форму потом только регистрация но тема актуальна

Ну если непринципиально, что в опросе будут принимать участие зарегистрированные, но незалогиненные пользователи,
то я на скорую руку набросал маленький плагин (см. в аттаче - устанавливается обычным образом).

ред. 13.01.2010 На доработке

Ковыряться по каждому поводу в com_user - тоже не дело.


Url переадресации и сообщение при переадресации можно указать в параметрах плагина (через Менеджер плагинов).


ред. 13.01.2010 Исправленная версия доступна по ссылке ниже

http://joomlaforum.ru/index.php/topic,146281.msg794484.html#msg794484
« Последнее редактирование: 14.01.2011, 05:56:42 от SDKiller »
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Половину понял, половину нет. Постараюсь полностью описать что нужно, но нутром чую что то что ты намутил хорошая штука)))

Нужно было добавить много пунктов в регистрацию, что бы получить более полную картину о его социальном статусе, возрасте, образованию и т.д. Так как я только начал заниматься знаний не хватает и решил после основной регистрации что бы пользователь переходил на форму дополнительного опроса. Форму сделал в ArtForms. Вот и все.

Опиши пожалуйста как его правильно включить
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
То есть нам нужно знать, какой именно пользователь заполняет анкету?

Если не нужно, то пользоваться можно прямо сейчас.

Устанавливаем через стандартную установку, затем в Менеджере плагинов заходим в настройки плагина, вводим адрес,
куда надо переадресовать и, если нужно - сообщение.

Включаем плагин.
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0

1. Включить
2. Ссылку вставить В это REDIR_URL значение? или же сюда REDIR_MSG.?
3. Включать ли это REDIR_LOGGED?

Переходит но активация на ящик не пришла


« Последнее редактирование: 13.01.2011, 16:05:15 от rezoleg »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Цитировать
REDIR_URL - ссылка
REDIR_MSG - сообщение

Вообще там всплывающая подсказка, правда на инглише)))

REDIR_LOGGED - не надо трогать - не работает

В исправленную версию включён языковой файл
« Последнее редактирование: 14.01.2011, 05:57:38 от SDKiller »
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Одно только перестало работать на активацию аккаунта ссылка не приходит, а так просто мега суппер
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
на активацию аккаунта ссылка не приходит

Угу.

Так что не есть супер, будем дальше его мучать

Получается, что событие onAfterStoreUser возникает до отправки письма активации, а мы юзера уже редиректим.
« Последнее редактирование: 13.01.2011, 16:29:24 от SDKiller »
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Исправленная версия плагина.
Переадресовывать пользователя можно как по внутренней ссылке, так и на другой сайт

   

Если на сайте установлена активация нового пользователя по e-mail, теперь письмо активации отправляется
(по ходу вспомнил, зачем было так сделано для события onAfterStoreUser  ^-^).

Добавлена возможность выбрать, будет ли выводиться системное сообщение об успешной регистрации дополнительно к тексту Вашего сообщения.

   


Добавлен языковой файл для порядка.

Стандартным образом удаляете предыдущую версию перед установкой.

Пока всё

[вложение удалено Администратором]
« Последнее редактирование: 14.01.2011, 06:08:06 от SDKiller »
*

rezoleg

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
*

Grandson

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
У меня не заработало пока не отключил плагин User - Joomla!
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
...отключил плагин User - Joomla!
Это вы зря :o


У меня не заработало...
Возможно имело смысл изменить порядок плагинов
« Последнее редактирование: 12.03.2011, 06:18:45 от SDKiller »
*

Grandson

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Это вы зря :o

Возможно имело смысл изменить порядок плагинов

Сейчас попробую поменять порядок.И еще может подскажете как можно узнать HTML адрес материала если он привязан к неопубликованному пункту меню, дело в том что если это меню публикую то через Ваш плагин попадаю на нужную страницу материала, а если снимаю с публикации адрес страницы материала (материал естественно оставляю опубликованным) видимо меняется и выдает 404 ошибку. Может можно еще в ваш плагин добавить кроме поля HTML адреса страницы еще и поле вывода материала по id? я был бы счастлив.
*

Grandson

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Ну вроде решил, просто перенес этот пункт меню в другое меню левое которое у меня не опубликовано, опубликовал его посмотрел какой адрес получается у нужного материала, записал этот адрес в Ваш плагин, затем снял с публикации все меню снова и вуаля- заработало! Да еще изменил порядок плагинов, Вы были правы помогло. Огромный плюс ставлю, спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На сайте правая колонна ушла в низ

Автор vityavoluevich

Ответов: 3
Просмотров: 2537
Последний ответ 27.10.2023, 08:45:48
от vityavoluevich
Каков ваш заработок на сайте?возможно ли пролететь и создать не прибыльный сайт?

Автор bedalex

Ответов: 3
Просмотров: 5323
Последний ответ 05.06.2023, 11:00:40
от Ритулька88
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9693
Последний ответ 05.11.2020, 20:56:47
от Kijv
Проблема со входом в Админ панель после переноса сайта

Автор Vlad Ermolaev

Ответов: 11
Просмотров: 4195
Последний ответ 12.12.2019, 15:48:25
от SeBun
Авторизация пользователей

Автор Вик2811

Ответов: 0
Просмотров: 1032
Последний ответ 27.08.2019, 13:55:52
от Вик2811