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

Lemist

  • Новичок
  • 5
  • 0 / 0
У меня такой простой вопрос. Тем не менее ответа в FAQ я на него не нашёл.
Мой сайт с именем JoomlaSite пока находится на моём локальном компе.
Я создал несколько материалов, для пробы, с ними всё в порядке. Но мне необходимо знать, где они располагаются в папке -
 localhost\www\JoomlaSite\ - а дальше?
Самое интересное, что смотришь даты ВСЕХ файлов, находящихся в этой папке, а они все созданы РАНЬШЕ, чем дата создания моих материалов. Да и поиск по какому-нибудь слову из текста материала не даёт результата, нет и всё.
А при работе с JoomlaSite все материалы показываются, как положено. Где-то, значит, они есть?
« Последнее редактирование: 03.12.2010, 16:08:18 от Lemist »
*

webusver

  • Захожу иногда
  • 77
  • 9 / 0
Но мне необходимо знать, где они располагаются в папке -
 localhost\www\JoomlaSite\ - а дальше?
Физически материалы находятся в базе данных, которая лежит на вашем локальном сервере. Возьмите и сделайте супекс дампекром бэкап базы и тогда физически его можете положить куда угодно... на хранение...
*

Lemist

  • Новичок
  • 5
  • 0 / 0
А по-русски можно? Что такое "супекс дампекром бэкап базы"?
И где находится эта база, которой нужно делать "супекс дампекром"?
Ведь локальный сервер должен быть на моём же компе, я так понимаю?
*

webusver

  • Захожу иногда
  • 77
  • 9 / 0
Опечатался, "супекс дампером" правильно.
http://yandex.ru/yandsearch?text=sypex+dumper&from=fx3&clid=46510&lr=213
*

Lemist

  • Новичок
  • 5
  • 0 / 0
Некоторое время отсутствовал, поэтому на форум попал только сейчас. Спасибо за указание, я нашел сведения о программе Sypex Dumper, которую вы называли "супэкс дампером". Программа интересная, только у меня вопрос не в том, чтобы бэкапить БД, мне нужно знать, ГДЕ она находится. Вы упомянули некий "локальный сервер". Я так понимаю, он должен находиться на моём же компе. А где, непонятно.
  Зачем мне это нужно? Попробую объяснить, может, проблема лежит совсем в другой плоскости. Дело в том, что мне нужно наполнять мой будущий сайт статьями из моей локальной БД, которая содержит в общей сложности порядка 100.000 записей. Каждая запись - это отдельная статья, и руками заводить все сто тысяч - работа до конца жизни. Вот я и хотел это как-то автоматизировать.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Если так приспичило, то таблицы базы лежат тут - WebServers\usr\local\mysql5\data\имя_базы - далее ищите jos_content (если у вас Денвер)
Врядли это вам чем то поможет. Оптимальный вариант - импорт/экспорт базы (или отдельных ее таблиц) тем же Sypex Dumper
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Lemist

  • Новичок
  • 5
  • 0 / 0
Sorry, но я почему-то не нашел указанного Вами пути у себя на компьютере - ни на одном из дисков. Что касается Денвера, то я его не ставил, я ставил по отдельности Apache и MySQL. После установки и настройки я установил Joomla и стал возиться с ним. Пару материалов, подобных тем, какие у меня в БД есть, я завел вручную, они нормально отображаются на сайте.
*

Lemist

  • Новичок
  • 5
  • 0 / 0
Может быть, лучше всего и пользоваться Sypex Dumper, и я уже созрел для попытки им воспользоваться. Правда, возникла проблема - для установки Sypex Dumper нужно "Разархивировать и закачать содержимое каталога на сервер." - это первый пункт установки. А я понятия не имею, где находится этот сервер, куда нужно закачать содержимое каталога. Это сейчас для меня самое непонятное. Я уже понял, что БД находится на сервере, а где находится сервер - хоть убей, не пойму.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Имеется ввиду - закачать содержимое архива в корень сайта. Где корень сайта, знаете то? Вот туда и бросайте файлики.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перестал сохранять материалы и модули

Автор Igoritaly

Ответов: 2
Просмотров: 1211
Последний ответ 11.08.2017, 13:37:48
от Igoritaly
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 1825
Последний ответ 18.03.2017, 19:22:31
от rebus
Нужен код времени создания материалы

Автор lotosss

Ответов: 0
Просмотров: 1307
Последний ответ 24.04.2014, 16:05:12
от lotosss
Как изменить количество материалов в mod_related_items (похожие материалы)

Автор slavbos

Ответов: 8
Просмотров: 3665
Последний ответ 22.04.2014, 21:57:33
от LolyCryu
Сделать все материалы отображаемыми на главной странице

Автор Свят

Ответов: 1
Просмотров: 1048
Последний ответ 20.03.2014, 20:01:01
от Свят