Новости 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 Ответов
  • 2046 Просмотров
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Помогите дилетанту.
есть ссылки (404 ошибка):
muzhskaya-odezhda/muzhskaya-odezhda-dlya-snouborda/kurtka-yobs-1722
muzhskaya-odezhda/muzhskaya-odezhda-dlya-snouborda/kurtka-yobs-1723
muzhskaya-odezhda/muzhskaya-odezhda-dlya-snouborda/kurtka-yobs-1724
и т.д.
хочу поменять на новые:
muzhskaya-odezhda/dlya-snouborda/kurtki/kurtka-yobs-1722
muzhskaya-odezhda/dlya-snouborda/kurtki/kurtka-yobs-1723
и т.д.

Вопрос, есть редирект
RewriteRule ^muzhskaya-odezhda/muzhskaya-odezhda-dlya-snouborda/kurtka(и вот тут какой-то символ)(.*)$ http://site.ru/muzhskaya-odezhda/dlya-snouborda/kurtki/$1 [R=permanent,L]
Есть ли какой-нибудь символ, который обозначает, условно - "все что идет после этого слова"?
Это нужно потому что я добавил категорию kurtki, но есть еще штаны и толстовки, и чтобы не прописывать для каждого товара новый редирект. Надеюсь моя мысль ясна?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Как правильно прописать редирект!
« Ответ #1 : 02.02.2013, 21:31:13 »
Код
RewriteRule ^muzhskaya-odezhda/muzhskaya-odezhda-dlya-snouborda/(.*)$ http://site.ru/muzhskaya-odezhda/dlya-snouborda/kurtki/$1 [R=permanent,L]

« Последнее редактирование: 04.02.2013, 01:10:39 от ELLE »
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Re: Как правильно прописать редирект!
« Ответ #2 : 04.02.2013, 03:24:23 »
Заметил интересную особенность!
Есть старая ссылка:
http://site.ru/muzhskaya-odezhda/muzhskie-pidzhaki-kostumi/muzhskie-pidzhaki/pidzhak-informalb-1136
ее НОВЫЙ вид:
http://site.ru/muzhskaya-odezhda/pidzhaki-kostumy/pidzhaki/pidzhak-informalb-1136
Делаю:
RewriteRule ^muzhskaya-odezhda/muzhskie-pidzhaki-kostumi/(.*)$ http://site.ru/muzhskaya-odezhda/pidzhaki-kostumy/$1 [R=permanent,L]
И самое интересное что работает нормально 301 редирект, т.е. что-то удаляет слово muzhskie-pidzhaki
Но еще интереснее то что сервер отдает со старой, та что первая, редирект 301 на ссылку где еще не удаленно слово muzhskie у конечной категории до товара, а уже эта ссылка также отдает 301 на конечную ссылку!)
Что за прикол?
Меня то так все устраивает, нет необходимости писать правило для всего, оно само работает, может это плагин Efanych работает для JS. Так как я имею в разделе muzhskie-pidzhaki еще и брюки, жилетки, и достаточно одно правила RewriteRule чтобы он обрабатывал все другие ссылки.
« Последнее редактирование: 04.02.2013, 03:28:21 от StyleRocket »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редирект для страницы с добавлением кода языка

Автор zeus07

Ответов: 0
Просмотров: 2389
Последний ответ 26.06.2023, 11:25:10
от zeus07
Htaccess и редирект с index.php на без index.php

Автор PavelK

Ответов: 2
Просмотров: 4686
Последний ответ 11.05.2023, 14:31:40
от PaLyCH
Как настроить редирект через маску содержащую часть пути?

Автор Slava77

Ответов: 0
Просмотров: 3109
Последний ответ 18.01.2023, 03:17:15
от Slava77
Редирект - исключение из правил (слэш)

Автор darkghost

Ответов: 0
Просмотров: 2918
Последний ответ 26.08.2022, 12:54:19
от darkghost
Редирект - JShop - слеш в конце URL

Автор darkghost

Ответов: 17
Просмотров: 3644
Последний ответ 16.08.2022, 15:18:30
от darkghost