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

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Здравствуйте, уважаемые господа и, возможно, дамы.
Уже несколько дней бьюсь над проблемой отсутствия всплывающего окна при добавлении товара в корзину.
Вместо всплывающего окна сразу перебрасывает в корзину (товар добавляется).
Использую последние версии VirtueMart и Joomla.
Соответствующая галочка в настройках Vm стоит:
Спойлер
[свернуть]
Вначале грешил на конфликт библиотек jQuery VirtueMart и шаблона (zt_Conto)/плагинов.
JQuery на главной странице:
Спойлер
[свернуть]
JQuery на страницах Virtuemart:
Спойлер
[свернуть]
/*К слову, сайт первоначально разрабатывался на другом шаблоне, и теперь библиотеки VirtueMart находятся в 2-х местах:
1)...\components\com_virtuemart
2)...\templates\zt_conto\html\com_virtuemart - тут без скриптов, только php-файлы.*/

Возможную проблему скриптов JQuery, решил мигрейтом через плагин jQuery Easy. Теперь везде используется библиотека 1.9.1:
Спойлер
[свернуть]
Работе всплывающего окна это не поспособствовало...
FireBug в свою очередь ошибок скриптов не показывает:
Спойлер
[свернуть]
Подскажите, пожалуйста, где мне искать проблему и как решить её?

P.S. К слову выпадающее окно "Сортировать по" на страницах Vm тоже не работает... Сама сортировка пашет, а выбор критерии сортировки нет.
Спойлер
[свернуть]
Грешу сейчас на порядок выполнения скриптов. Решения у меня нет  !
« Последнее редактирование: 02.06.2014, 10:18:02 от blazy91 »
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Решения описанные на русскоязычных ресурсах не помогают. Лазаю по иностранным...
*

fsv

  • Moderator
  • 2782
  • 411 / 2
ссылка на проблемную страницу?
Веб-разработка: заказ. Только новая разработка.
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
На локальном сервере пока всё это делаю.
*

fsv

  • Moderator
  • 2782
  • 411 / 2
На локальном сервере пока всё это делаю.
по картинкам вряд ли кто тут гадает. есть бесплатные хостинги, в качестве временного.
Веб-разработка: заказ. Только новая разработка.
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
fsv, посоветуете какой? Выложу.
*

fsv

  • Moderator
  • 2782
  • 411 / 2
не посоветую, т.к. последний раз 3 года назад пользовался каким-то. поиск в помощь.
Веб-разработка: заказ. Только новая разработка.
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вернулся к проблеме со свежими мозгами после отпуска.
На бесплатный хостинг проблемно сайт заливается.
Не втискивается БД под ужимки MySQL тамошних.
Оплачу в ближайшие дни платный хостинг на месяц.
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Выложил пока таки на бесплатный хостинг сайт. Тормозит только собака...
http://labortest.meximas.com/labor/index.php/component/virtuemart/ampuly-urovnej?Itemid=159
Суть проблемы в 1-м посте.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
В конфигурациях вм, вкладка чекаут, поставил галочку Display modal popup upon 'Add to cart'  ?
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
olejenya, галочка стоит там. Смотрите первый спойлер в первом посте. К слову, убирать тоже пробовал (на случай если в дефолтных настройка 0 вместо 1 стоял бы).
« Последнее редактирование: 16.06.2014, 13:38:39 от blazy91 »
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
olejenya, галочка стоит там. Смотрите первый спойлер в первом посте. К слову, убирать тоже пробовал (на случай если в дефолтных настройка 0 вместо 1 стоял бы).
Упустил.Фаербаг ошибок не показал.У меян используется jQuery 1.8, а сам вм использует 1.6 , если не ошибаюсь.Мб в этом и проблема.И не факт что мигратор поможет.
*

fsv

  • Moderator
  • 2782
  • 411 / 2
1) На этом шаблоне: У вас для вывода окошка используется facebox. Если в настройках выбрать fancybox?
2) На дефолтном шаблоне: работает?
3) зачем изи и мигратор? без них что (на обоих шаблонах)? Если без них что-то стороннее конфликтует, или firebug'ом или отключением найдите что.
Веб-разработка: заказ. Только новая разработка.
*

blazy91

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Ну начнём с пункта 3.
3) Отключаем JEasy. На страницах Joomla так используется jQuery v.1.10.2 noconflict, на страницах VirtueMart 1.6.1. Всплывающего окна так и нет. В Firebage ошибок скриптов нет, только предупреждения об устаревших атрибутах:
Спойлер
[свернуть]
1) В настройках VM включаем fancybox вместо facebox. Всплывающего окна нет...
2) Переходим на дефолтный шаблон. Beez5, к примеру, но и тут без изменений. При выключенном мигрейте ошибок новых не появилось.

Мысля есть, что дело может быть в порядке запуска скриптов
Спойлер
[свернуть]

Для завершения программы попробуем ещё поотключать плагины.

P.S. Уря докопался таки до места, где собака зарыта. Только вот дело оказалось в плагине на котором держится шаблон... В первый раз когда плагины отключал не додумался шаблон поменять и этот момент пропустил...
Спойлер
[свернуть]
Отключил плагин, поменял шаблон на дефолтный. Всплывающее окно появилось.
Теперь насущный вопрос, как решить проблему... Ведь без этого плагина никак:
Спойлер
[свернуть]
P.S.S. после нахождения проблемы, найти решение было совсем не трудно. Всё заработало, большая благодарность fsv и olejenya за помощь!
« Последнее редактирование: 17.06.2014, 10:43:43 от blazy91 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не добавляет в корзину

Автор Wargoth

Ответов: 15
Просмотров: 1574
Последний ответ 03.08.2021, 12:40:00
от draff
Кнопка добавить в корзину

Автор tmpnikl

Ответов: 1
Просмотров: 1081
Последний ответ 28.07.2021, 13:17:53
от Wargoth
При добавлении в корзину "Товар был удален"

Автор chtec95

Ответов: 4
Просмотров: 1060
Последний ответ 18.04.2020, 16:33:14
от gartes
Стандартная страница Joomla 404 не отображается открытии несуществующего товара

Автор AzMandius

Ответов: 0
Просмотров: 893
Последний ответ 24.02.2020, 12:53:26
от AzMandius
Не добавляются товары в корзину с Iphone

Автор Diazz

Ответов: 0
Просмотров: 1211
Последний ответ 16.12.2019, 22:13:06
от Diazz