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

Sonny11

  • Новичок
  • 3
  • 0 / 0
Здравствуйте, в общем суть проблемы.
Имеется интернет-магазин на Joomla 2.5+VirtueMart 2.0 + встроенное ЧПУ включено (важно)
При навигации по категориям и подкатегориям товаров с сайта все ссылки в URL отображатюся нормально:

my-site.ru/category1/subcategory1/subsubcategory1-1/

Но если в ручную добавить в URL-строку другую категорию, к которой товар даже не относится:

my-site.ru/category4/subcategory1/subsubcategory1-1/ - открывается товар с subcategory1/subsubcategory1-1/, хотя по идее должно было отдать 404, ведь в category4 нет товара с категорией subcategory1/subcategory1-1, у неё
 свои категории типа subcategory4/subcategory4-1.

Ко всему прочему если добавить еще несколько произвольных категорий в URL:

my-site.ru/category4/category9/category7/category1/category11/category5/subcategory1/subsubcategory1-1/ все ровно открываются  товары из категории subcategory1/subsubcategory1-1/
при чем даже URL  вида my-site.ru/category4/наборбуквсмьващмь/category7/category1/ещенаборбукв/category5/subcategory1/subsubcategory1-1/ прекрасно приводит нас к товару с категорией subcategory1/subsubcategory1-1/

и так с любыми комбинациями категорий и подкатегорий

Создается что роутер VirtueMart игнорирует начало URL адреса, а обрабатывает с его конца.

Просто поисковики дубли выводят, а это плохо(

Есть способ прописать в .htaccess редиректы 301, но это заплатка, хотелось бы устранить причину данного бага.

При отключенном ЧПУ Joomla соответственно таких проблем нет)
Очень прошу помощи или направление куда копать, дабы решить эту проблему.

Заранее благодарен.
*

fsv

  • Moderator
  • 2782
  • 411 / 2
Re: Проблема с URL в Joomla 2.5 + VirtueMart 2.0
« Ответ #1 : 27.02.2017, 02:28:47 »
JL No Doubles смотрели?
Веб-разработка: заказ. Только новая разработка.
*

Sonny11

  • Новичок
  • 3
  • 0 / 0
Re: Проблема с URL в Joomla 2.5 + VirtueMart 2.0
« Ответ #2 : 27.02.2017, 19:22:24 »
Ставил, но он только платно поддерживает VirtueMart, а платить не зная результата не очень хочется.

Я думаю может это связано с только двумя уровнями вложенности VirtueMart'a? По этому он и обрабатывает последние 2 категории в URL и выводит их на сайт.
*

fsv

  • Moderator
  • 2782
  • 411 / 2
Re: Проблема с URL в Joomla 2.5 + VirtueMart 2.0
« Ответ #3 : 27.02.2017, 19:46:50 »
Ставил, но он только платно поддерживает VirtueMart, а платить не зная результата не очень хочется.
400 руб. за решение проблемы - "платно"? Результат спросите у разработчика, не сомневаюсь, что все вам расскажет.
Веб-разработка: заказ. Только новая разработка.
*

Sonny11

  • Новичок
  • 3
  • 0 / 0
Re: Проблема с URL в Joomla 2.5 + VirtueMart 2.0
« Ответ #4 : 27.02.2017, 20:24:08 »
Спасибо, спросил, жду ответа
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расчёт стоимости товара в VirtueMart за периметр

Автор NIKOLY

Ответов: 0
Просмотров: 475
Последний ответ 04.07.2025, 09:18:31
от NIKOLY
VirtueMart 3 Отображать только товары в наличии!

Автор GaziroFFka

Ответов: 4
Просмотров: 3984
Последний ответ 06.06.2023, 13:55:13
от Akeksandr
SP VirtueMart Category Search

Автор ve1006

Ответов: 10
Просмотров: 7862
Последний ответ 18.01.2023, 10:39:10
от AzMandius
Как вывести модуль в страницу VirtueMart?

Автор harddrop

Ответов: 11
Просмотров: 4869
Последний ответ 13.11.2022, 13:11:37
от Evgen Kulibin
Как правильно настроить покупку в VirtueMart?

Автор varella

Ответов: 1
Просмотров: 2818
Последний ответ 12.10.2022, 16:14:04
от varella