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

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
"Тормоза"
« : 17.12.2010, 22:33:39 »
В общем не знаю куда запостить этот топик, по этому создал в "Общие вопросы"...

Проблема такова:
Сайт стоит на хостинге...
...получается так что страницы сайта грузятся быстро, примерно за одну секунду и вдруг на некоторое время, от 5 до 15 минут сайт начинает жутко тормозить (около минуты, а то и более загружается любая страница сайта в любом браузере)...

Тормозит посути весь сайт.. т.е при клике на ссылку допустим в главном меню, надо долго ждать пока загрузится другая страница.. получается так, когда нажимаю на ссылку, браузер думает (то есть не подгружает ничего, просто зависает страница с которой делался переход.. так же как и фома отправки соощения другому пользователю при нажатии не отсылается, а зависает - приходилось обновлять страницу, но и при этом сообщение отправляется\отображается только после, примерно одной минуты) около минуты и только потом открывает данную страницу

Что это может быть? Это может быть связанно с joomla(+компоненты, модули, плагины)?

Задавал такой же вопрос хостеру так как не знаю из за чего могут быть бодобные тормоза

Вот ответ:
"интересный момент, могу вам посоветовать поставить скрипт который показывает время
загрузки страницы. По логам этого скрипта мы вместе увидим что именно тормозит и в
какое время."

Теперь еще один вопрос.. где мне достать такой скрипт? (и такой вопрос я задавал хостеру.. вот ответ: "http://www.google.lv/search?hl=lv&client=firefox-a&hs=OEa&rls=org.mozilla%3Aen-US%3Aofficial&q=load+page+time+script&aq=f&aqi=&aql=&oq=&gs_rfai=")

насколькоя понял.. скрипт сам должен записывать в лог файл (я правельно понял?)
НО я не нашел такого (может плохо искал..)
Так вот, где скачать\как называеться такой скрипт...?

P.S. я не продвинутый в этом деле (сайто-строении и тд), а совсем новенький и сделал только один в своей жизни сайт.. вот с ним собственно что-то не так...
« Последнее редактирование: 17.12.2010, 23:04:11 от squid »
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Re: "Тормоза"
« Ответ #1 : 17.12.2010, 23:09:14 »
Поставьте YSlow для Mozilla.
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: "Тормоза"
« Ответ #2 : 17.12.2010, 23:15:23 »
Да.. и еще есть вот http://www.site-perf.com/
Но скорое всего это все вряд ли поможет...
 
5-15 минут. Это больше чем любое время на выполнение скрипта. Если бы проблема была в коде, то уже вывалилась бы ошибка. Сервер сам бы прекратил процесс.
Внешняя ссылка - тоже вряд ли. слишком долго.
Возможно просто тормознутость хостинга.  Потому что больше нечего в голову не приходит.
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
Re: "Тормоза"
« Ответ #3 : 17.12.2010, 23:21:39 »
5-15 это время сколько тормозит сайт временами.. а 1 минуту примерно, в это время, открываются ссылки.. :)
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: "Тормоза"
« Ответ #4 : 17.12.2010, 23:25:40 »
Тогда проблема может быть просто в вашем интернет провайдере. Бывает такое и у меня.
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
Re: "Тормоза"
« Ответ #5 : 17.12.2010, 23:32:09 »
Тогда проблема может быть просто в вашем интернет провайдере. Бывает такое и у меня.

Это не только у меня, это у всех пользователей.. их мало конечно но всеже.. :)
и разные провайдеры естественно :P
« Последнее редактирование: 17.12.2010, 23:47:08 от squid »
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
Re: "Тормоза"
« Ответ #6 : 17.12.2010, 23:38:05 »
YSlow для Mozilla. это же только я вижу за сколько загрузилась страница и сколько весит..
Мне бы скрипт который записывает в файл все переходы всех посетителей, страницу и время загрузки страницы, (если такой в природе есть :)) чтобы предявить этот файл хостеру, чтобы сказали в чем проблема.. иначе надо будет искать другой хостинг и проверять будет ли там подобная проблема
« Последнее редактирование: 17.12.2010, 23:49:18 от squid »
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: "Тормоза"
« Ответ #7 : 18.12.2010, 00:29:39 »
Это скрипт называется логи сайта.. И спрашивать его нужно у хостера.. По моему хостер вам просто морочит голову и все тут.. ради интереса, перенесите копию сайта на другой хост... да хоть на мой даже.
*

squid

  • Захожу иногда
  • 85
  • 4 / 0
  • :P
Re: "Тормоза"
« Ответ #8 : 18.12.2010, 23:05:22 »
Это скрипт называется логи сайта.. И спрашивать его нужно у хостера.. По моему хостер вам просто морочит голову и все тут.. ради интереса, перенесите копию сайта на другой хост... да хоть на мой даже.

Срасибо... прояснили все..
В общем на днях, если будет подобная проблема, буду обращиться к хостеру (поставил скрипт на оределение загрузки страницы)...

если вопрос не решиться, с Вашего позволения оращусь к Вам, для проверки на Вашем хостинге...
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: "Тормоза"
« Ответ #9 : 19.12.2010, 23:05:21 »
Хорошо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться