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

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Удаляем дубли в rel="canonical"
« : 04.04.2014, 22:33:50 »
Искал, но ничего толком не нашел поэтому пишу простое решение. Если есть другое пишите.
Удаляем все возможные дубли связанные с ?start ?limit и т. д. в rel="canonical"

1) открыть файл /plugins/system/sef/sef.php

2) На линиях 51 ~ 54 найти код:

Код: php

if ($uri !== $link)
{
  $doc->addHeadLink(htmlspecialchars($link), 'canonical');
}

И заменить на:

Код: php

if ($uri !== $link)
{
  $fragment_link = strpos($link, "?");
  $link = ( $fragment_link > 1 ) ? substr($link, 0, $fragment_link) : $link;
  $doc->addHeadLink(htmlspecialchars($link), 'canonical');
}
Мои расширения - http://eco-joom.com/ru/
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Удаляем дубли в rel="canonical"
« Ответ #2 : 05.04.2014, 10:25:20 »
Кто-то проверял этот метод?
Могу на своем сайте показать, см. html-код

Без хака:
http://www.ext-joom.com/ru/rasshireniya.html
Код
<link href="http://www.ext-joom.com/ru/rasshireniya.html" rel="canonical" />

Внимание на ?start=24
http://www.ext-joom.com/ru/rasshireniya.html?start=24
Код
<link href="http://www.ext-joom.com/ru/rasshireniya.html?start=24" rel="canonical" />


С хаком:
http://www.ext-joom.com/ru/rasshireniya.html
Код
<link href="http://www.ext-joom.com/ru/rasshireniya.html" rel="canonical" />

Внимание на ?start=24
http://www.ext-joom.com/ru/rasshireniya.html?start=24
Код
<link href="http://www.ext-joom.com/ru/rasshireniya.html" rel="canonical" />
Мои расширения - http://eco-joom.com/ru/
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Re: Удаляем дубли в rel="canonical"
« Ответ #3 : 06.04.2014, 10:13:37 »
Кто-то проверял этот метод?
Да работает, только он ведь до первого обновления Joomla ((
А вообще очень неожиданно было увидеть такие ссылки в canonical.
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Удаляем дубли в rel="canonical"
« Ответ #4 : 11.04.2014, 12:02:37 »
Да работает, только он ведь до первого обновления Joomla ((
А вообще очень неожиданно было увидеть такие ссылки в canonical.
Да, до первого обновления Joomla, так как это хак. Никто вам не мешает сделать повторно. 
Мои расширения - http://eco-joom.com/ru/
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Удаляем дубли в rel="canonical"
« Ответ #5 : 14.04.2014, 11:10:16 »
Есть возможность переопределить это как-либо? Например, в другом плагине?
Или проще на github?
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Удаляем дубли в rel="canonical"
« Ответ #6 : 14.04.2014, 11:59:01 »
Есть возможность переопределить это как-либо? Например, в другом плагине?
Или проще на github?
Можете разработать для этого отдельный плагин, только это нецелесообразно со стороны оптимизации Joomla.
Мои расширения - http://eco-joom.com/ru/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор polezniy

Ответов: 3
Просмотров: 1461
Последний ответ 14.06.2022, 21:06:42
от polezniy
Убрать дубли статьи в Joomla 3

Автор Benderalfa

Ответов: 0
Просмотров: 727
Последний ответ 13.04.2022, 18:45:36
от Benderalfa
canonical в Joomla 3.4.5 не индексирует статье Google

Автор Benderalfa

Ответов: 0
Просмотров: 919
Последний ответ 11.04.2022, 18:29:38
от Benderalfa
Как убрать дубли страниц?

Автор alexsub

Ответов: 6
Просмотров: 1376
Последний ответ 04.04.2020, 08:45:30
от SeBun
rel=canonical после перехода на https ссылается на http на Joomla 3.8

Автор anbarter

Ответов: 1
Просмотров: 1248
Последний ответ 15.04.2019, 13:20:14
от AlexK