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

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Голову сломал что делать
« : 04.08.2015, 18:52:57 »
голову уже третий день ломаю
http://lik-astana.kz/
если перейти в категорию все слетает что делать не понятно куда копать также не понятно
помогите разобраться
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Голову сломал что делать
« Ответ #1 : 04.08.2015, 19:21:51 »
показ ошибок включите для начала
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Голову сломал что делать
« Ответ #2 : 04.08.2015, 19:30:16 »
Зашел на сайт, висит "Ошибка в типе содержимого. Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии."
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Голову сломал что делать
« Ответ #3 : 04.08.2015, 19:34:25 »
Зашел на сайт, висит "Ошибка в типе содержимого. Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии."
и что это значит
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Голову сломал что делать
« Ответ #4 : 04.08.2015, 19:36:09 »
и что это значит
ну дык ваш сайт и хостинг, вам решать что делать.
Вот скрин из мозиллы, зашел по адресу http://lik-astana.kz/  http://easycaptures.com/fs/uploaded/916/7054830267.png

Как вариант - включен в настройках сайта gzip, но сервер его не поддерживает
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Голову сломал что делать
« Ответ #5 : 04.08.2015, 19:43:05 »
выключил результата нет
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Голову сломал что делать
« Ответ #6 : 04.08.2015, 19:47:53 »
Ну теперь хотя бы сайт работает )) Можно посмотреть
Теперь по сути - зайдите на страницу категории и посмотрите на исходный код страницы, впечатление, что туда отдается только результат работы компонента, без всего шаблона. Такое может быть, когда заложена логика открывать содержимое в Lightbox. Либо назначен отдельный шаблон, только с компонентом, без всего

Далее - зачем после id="content" два раза подряд подключается файл стилей "/plugins/content/custompagenavigation/style/style.css" ?

Для начала - поставить любой стандартный шаблон и проверить работу - если там все в порядке - значит с логикой все хорошо и проблема в конкретном шаблоне. И с ним уже детально разбираться, они бывают разные и так вот удаленно ничего сказать нельзя
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Голову сломал что делать
« Ответ #7 : 04.08.2015, 19:49:02 »
Хотя могу ошибаться.... Вам правильно сказали - в общих настройках включить отображение ошибок как максимальное.
Потому что консоль мне говорит следующее
Цитировать
"NetworkError: 500 Internal Server Error - http://lik-astana.kz/imidzhevaya-suvenirnaya-produktsiya-v-astane"
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Голову сломал что делать
« Ответ #9 : 05.08.2015, 00:30:33 »
в меню все включено проблемы начались при смене хостинга
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Голову сломал что делать
« Ответ #10 : 05.08.2015, 00:47:05 »
ошибки отдает такие
Цитировать
Strict Standards: Declaration of JParameter::loadSetupFile() should be compatible with JRegistry::loadSetupFile() in /var/www/xxx/data/www/lik-astana.kz/libraries/joomla/html/parameter.php on line 512

Strict Standards: Only variables should be assigned by reference in /var/www/xxx/data/www/lik-astana.kz/plugins/system/adminexile/adminexile.php on line 39

Strict Standards: Only variables should be assigned by reference in /var/www/xxx/data/www/lik-astana.kz/plugins/system/seolinks/seolinks.php on line 43

Strict Standards: Only variables should be assigned by reference in /var/www/xxx/data/www/lik-astana.kz/plugins/system/nicewatermark/nicewatermark.php on line 75

вот тут не понятно
Strict Standards: Declaration of JParameter::loadSetupFile() should be compatible with JRegistry::loadSetupFile() in /var/www/xxx/data/www/lik-astana.kz/libraries/joomla/html/parameter.php on line 512
на 512 просто файл закончился
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться