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

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
Несколько дней назад вдруг начала часто появляться ошибка 404 на страницах магазина и постоянно выдаёт такую ошибку:

Warning: Invalid argument supplied for foreach() in ...../components/com_jshopping/lib/jtableauto.php on line 20

Что это может быть?

Поискав в интернете, смотрю не только у меня одной такое:

Спойлер
[свернуть]
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
warning не ошибка, для жш явление обычное.
отключите отображение ошибок на хостинге.

404 другое дело это уже существенней

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

думайте что было перед "вдруг" и что могло стать причиной.
ничего не делала, ничего не меняла = ничего не произошло, значит 404 нормальная работа.

Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
warning не ошибка, для жш явление обычное.
отключите отображение ошибок на хостинге.

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

404 другое дело это уже существенней
думайте что было перед "вдруг" и что могло стать причиной.
ничего не делала, ничего не меняла = ничего не произошло, значит 404 нормальная работа.

Также и с ошибкой 404. Страница существует, но когда пользователь нажимает на неё, выскакивает ошибка. Если обновить страницу, предварительно очистив кэш или в другом браузере, страница открывается. Но не все покупатели об этом догадаются.

Не пойму в чём может быть дело и где искать: в хостинге, вирусах, компоненте..

[вложение удалено Администратором]
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Компонент не обновляли ?
А хотя сорри :) куда уже обновлять:) только с Жумлой.

Ну у меня все нормально отображается в каталоге
только на главной каталога слева выбивает
Warning: Invalid argument supplied for foreach() in /home/vhosts/handmadeshop.md/httpdocs/modules/mod_banners/tmpl/default.php on line 9
но к ЖШ отношения не имеет.
спросите на хостинге они ничего не меняли ?

Ну и обновляться Вам надо;)
все меньше и меньше людей кто помнит о Вашей версии ЖШ :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Включите debug mode Joomla
*

dstavropolskij

  • Захожу иногда
  • 106
  • 10 / 0
warning не ошибка, для жш явление обычное.
Не ну вы извините. Если конечно fatal error только ошибкой считать. А вообще форикать массив не имея даже проверки тупой на isset == cattlecode чтоль.

2ТС -- попробуйте вспомнить, что происходило перед возникновением проблем -- новый хост, включение-отключение кеша, изменилась структура каталога, новые версии ПО на хосте. И тп.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
А вообще форикать массив не имея даже проверки тупой на isset == cattlecode чтоль.
Не совсем правильно... isset всего лишь сообщает о наличии переменной, а не о её содержимым. Поэтому конечно правильнее было бы проверять is_array().
И конечно же объявлять эту переменную сначала как пустой массив, и только после этого этот массив заполнять.
Да что тут говорить... ЖШ до сих пор использует методы Joomla 1.5.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
В магазине нет Warning

Проблема скорее всего с БД
*

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
Компонент не обновляли ?
Компонент не обновляла и вообще нигде не лазила. Думаю обновиться до последних версий и представляю сколько свалится дополнительных проблем :(

Ну у меня все нормально отображается в каталоге только на главной каталога слева выбивает
Warning: Invalid argument supplied for foreach() in /home/vhosts/handmadeshop.md/httpdocs/modules/mod_banners/tmpl/default.php on line 9
но к ЖШ отношения не имеет.
спросите на хостинге они ничего не меняли ?

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

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
В магазине нет Warning

Проблема скорее всего с БД

Вот выписка из error.log. Часто выскакивает один и тот же [warn]:

Код
[Sun Apr 07 20:08:10 2013] [error] [client 46.188.22.231] File does not exist: /home/vhosts/handmadeshop.md/httpdocs/master-class, referer: http://www.handmadeshop.md/master-class/52-kak-sdelat-personazhej-angry-birds-iz-polimernoj-gliny
[Sun Apr 07 20:10:40 2013] [error] [client 89.28.120.204] File does not exist: /home/vhosts/handmadeshop.md/httpdocs/catalog, referer: http://www.handmadeshop.md/catalog/chains/spandeks-rezinka-08-mm
[Sun Apr 07 20:10:58 2013] [warn] [client 89.28.120.204] mod_fcgid: stderr: PHP Warning: Invalid argument supplied for foreach() in /home/vhosts/handmadeshop.md/httpdocs/components/com_jshopping/lib/jtableauto.php on line 20, referer: http://www.handmadeshop.md/catalog/cart/add
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Включите debug mode Joomla
*

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
Включила, но там я ничего не понимаю.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
*

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
Так в том то и дело, что эти ошибки караулить надо. Они не всегда появляются. Если обновить страницу, исчезают. О них я потом узнаю из error.log.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при изменении статуса товара

Автор itbc

Ответов: 4
Просмотров: 1397
Последний ответ 08.05.2024, 10:31:16
от itbc
Ошибка при заполнении поля Улица/Номер дома. Как исправить ошибку?

Автор admi5575

Ответов: 9
Просмотров: 1687
Последний ответ 10.05.2023, 07:21:14
от admi5575
При обновлении Joomshopping до 4.16 и Joomla до 3.9.3 - ошибка 1054

Автор busik

Ответов: 8
Просмотров: 3071
Последний ответ 15.12.2021, 01:01:46
от nevigen
На PHP 8 ошибка в мобильной версии

Автор Kugata

Ответов: 6
Просмотров: 1162
Последний ответ 15.09.2021, 19:22:42
от ShopES
Ошибка 0 Call to a member function setModel() on bool

Автор oleg1015

Ответов: 2
Просмотров: 1130
Последний ответ 31.07.2021, 07:04:53
от Taatshi