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

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
зависает сайт
« : 20.04.2011, 19:31:29 »
здравствуйте.
требуется помощь. бъюсь над проблемой не один день.
в общем есть компонент доски по продаже авто. изначально там было около 60 марок авто и около 1000 моделей. негусто. скачал из инета БД побольше 167 марок около 3000 моделей. и вылезла проблема. я аккуратненько то что скачал, залил в mysql, теперь при попытке перейти на страничку сайта где эти марки и модели должны использоваться(ну скажем форма поиска авто) в браузере просто белый экран...и все, страница не грузиться. не то что не грузиться а даже не пытается, просто белый экран. опытным путем выяснил сайт работает до тех пор пока опубликовано 2108 моделей(сколько опубликовано марок не имеет значения) только публикуешь 2109-ю модель...все, сайт не грузится. в чем проблема ..? неужели ограничен размер запроса к базе....вряд ли, у меня в базе еще областя с городами, так там городов около 6000....и работает. в каком напрвлении двигаться...подскажите!
п.с пробовал несколько скаченных БД авто себе заливать...результат тот же.
*

Партизан

  • Захожу иногда
  • 164
  • 11 / 0
  • Тысяча червей! Сверстать всех наверх!
Re: зависает сайт
« Ответ #1 : 20.04.2011, 19:42:16 »
Возможно не хватает памяти, попробуйте включить показ ошибок.
Для этого нужно добавить в файл .htaccess строчку :

Код
php_flag display_errors on

Или сразу попробуйте увеличить память, но не все хостинги это позволяют:

Код
php_value memory_limit 64M

Ещё вы можете включить режим отладки в админке сайта и посмотреть лог.
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #2 : 20.04.2011, 19:49:10 »
ок. щас попробую...
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #3 : 20.04.2011, 20:04:00 »
не помогло. создал файл .htaccess
добавил эти строчки, включил режим отладки. ничего не изменилось,а там где логи по умолчанию Z:\home\localhost\www\auto\logs
только файл index.html и все.
п.с делается  на денвере....
файл .htaccess  положил в папку сайта
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: зависает сайт
« Ответ #4 : 20.04.2011, 20:08:59 »
у денвера логи не в каталоге где сайт лежит. Ищите лог апача
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #5 : 21.04.2011, 13:00:39 »
лог нашел. при лазании по сайту новых записей там не появляется
ну вот скажем последние записи там
[Thu Apr 21 11:42:16 2011] [warn] Init: SSL server IP/port conflict: subdomain.test1.ru:443 (Z:/usr/local/apache/conf/vhosts.conf:108) vs. Tools.localhost:443 (Z:/usr/local/apache/conf/vhosts.conf:154)
[Thu Apr 21 11:42:16 2011] [warn] Init: SSL server IP/port conflict: subdomain.localhost:443 (Z:/usr/local/apache/conf/vhosts.conf:85) vs. Tools.localhost:443 (Z:/usr/local/apache/conf/vhosts.conf:154)
[Thu Apr 21 11:42:16 2011] [warn] Init: SSL server IP/port conflict: localhost:443 (Z:/usr/local/apache/conf/vhosts.conf:39) vs. Tools.localhost:443 (Z:/usr/local/apache/conf/vhosts.conf:154)
[Thu Apr 21 11:42:16 2011] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!

можно час по сайту лазить и нового в этом логе ничего не будет
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #6 : 21.04.2011, 19:51:32 »
народ! ну помогите....я только начинающий. одному не решить.
вообще это компонент Joomla. с ним шел стандартный список марок и моделей, но не много....
после того как я в БД добавил в две таблицы марки и модели соответсвенно, получается такая канитель. но это еще не все....когда моделей делаешь чуть менее 2000(ну чтоб сайт грузился), то вылазит другой глюк, список марок отображается неккоректно...скажем каждая марка может повториться два или три раза.это если просто список марок выбирать, тоже самое и в модуле поиска, только там уже выпадающий список марок, тоже идет повторение...
*

Партизан

  • Захожу иногда
  • 164
  • 11 / 0
  • Тысяча червей! Сверстать всех наверх!
Re: зависает сайт
« Ответ #7 : 22.04.2011, 01:50:47 »
А как вы марки добавляли в базу, удалив пред идущее и прост по верх?
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #8 : 22.04.2011, 09:44:25 »
таблицы полностью очищались.привязка маоделей к маркам производиться по ID, поэтому поверх никак нельзя...
*

Партизан

  • Захожу иногда
  • 164
  • 11 / 0
  • Тысяча червей! Сверстать всех наверх!
Re: зависает сайт
« Ответ #9 : 22.04.2011, 14:04:06 »
Тогда посмотрите настройки php, увеличьте лимиты.

Найдите файл диск\usr\local\php5\php.ini

В нёи ищите строки
 
Код
max_execution_time = 30     

memory_limit = 32M     

upload_max_filesize = 8M

upload_max_filesize = 8M

И меняйте значения на большие
 
*

paylesss

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: зависает сайт
« Ответ #10 : 22.04.2011, 16:38:32 »
спасибо большущее....заработало! респект и уважуха!
*

Партизан

  • Захожу иногда
  • 164
  • 11 / 0
  • Тысяча червей! Сверстать всех наверх!
Re: зависает сайт
« Ответ #11 : 22.04.2011, 20:49:21 »
 ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Каков ваш заработок на сайте?возможно ли пролететь и создать не прибыльный сайт?

Автор bedalex

Ответов: 3
Просмотров: 5323
Последний ответ 05.06.2023, 11:00:40
от Ритулька88
Проблемы с входом на сайт

Автор belovpaha

Ответов: 7
Просмотров: 4709
Последний ответ 20.09.2022, 14:30:51
от sivers
Криво работает сайт и админ часть

Автор Odyssey

Ответов: 11
Просмотров: 2782
Последний ответ 10.02.2019, 06:13:39
от Odyssey
Сайт на Joomla 1.5.15

Автор Lzrv

Ответов: 3
Просмотров: 2506
Последний ответ 01.11.2017, 13:01:26
от SeBun
Подскажите - сайт стал в фронтэнде выводить ошибку. Как ее убрать

Автор vovchikku

Ответов: 7
Просмотров: 2084
Последний ответ 30.01.2017, 10:35:49
от vovchikku