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

YuraKo

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Всем привет. У меня случилась такая ситуация. Я делал сайт локально: поставил Denwer и Joomla 1.5.10. Делал делал, сохранял всю папку, в которой делал, на CD. Потом умер винчестер. Купил новый. Все поставил заново. Теперь не знаю, как все что делал поставить на новую Joomla.

Для начало тупо копировал всю папку и естественно выдало ошибку ( jtablesession::Store Failed
DB function failed with error number 1054 Unknown column 'client_id' in 'field list' SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( 'cf0e8bede19d4ef92d4b0c0041cd2e99','1284645210','','0','1','0' ).

Что делать то?
« Последнее редактирование: 20.10.2010, 16:52:41 от Forget-me-not »
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Re: Как быть в этой ситуации?
« Ответ #1 : 16.09.2010, 18:04:49 »
папку с базой данных тоже сохранил, или только с сайтом?
*

YuraKo

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Как быть в этой ситуации?
« Ответ #2 : 16.09.2010, 18:17:57 »
папку с базой данных тоже сохранил, или только с сайтом?
Я сохранил все что было на диске Ф, который создал денвер. Базу искать там?
*

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
Re: Как быть в этой ситуации?
« Ответ #3 : 16.09.2010, 18:21:05 »
F:\usr\local\mysql5\data\
В комнате с белым потолком
*

YuraKo

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Как быть в этой ситуации?
« Ответ #4 : 16.09.2010, 21:59:26 »
F:\usr\local\mysql5\data\
Да, там есть база.
*

YuraKo

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Как быть в этой ситуации?
« Ответ #5 : 17.09.2010, 13:23:42 »
Что делать дальше то?
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Re: Как быть в этой ситуации?
« Ответ #6 : 17.09.2010, 13:35:39 »
Что делать дальше то?
копируйте базу аналогично в Z:\usr\local\mysql5\data\
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

fedya

  • Захожу иногда
  • 463
  • 50 / 1
Re: Как быть в этой ситуации?
« Ответ #7 : 17.09.2010, 13:41:28 »
1) с диска скопировать папку с денвером (по умолчанию Webserver)
2) зайти в ...\denwer\ дважды тыкнуть на Run.exe
3) проверить доступность локального сайта (по тому же имени которое было до краха)

если вы копировали папку с денвером полностью, всё должно работать, без новой установки денвера, Joomla и тп
Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек.
*

YuraKo

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Как быть в этой ситуации?
« Ответ #8 : 17.09.2010, 14:47:41 »
1) с диска скопировать папку с денвером (по умолчанию Webserver)
2) зайти в ...\denwer\ дважды тыкнуть на Run.exe
3) проверить доступность локального сайта (по тому же имени которое было до краха)

если вы копировали папку с денвером полностью, всё должно работать, без новой установки денвера, Joomla и тп
Вот спасибо тебе добрый человек. Все заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97131
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Как проверить форму обратной связи [Решено]

Автор mafiozzzza

Ответов: 8
Просмотров: 6854
Последний ответ 30.05.2017, 11:34:11
от darkghost
[Решено] Проблемка с якорями

Автор yarikk

Ответов: 6
Просмотров: 2014
Последний ответ 25.11.2016, 02:02:57
от yarikk
[Решено] Остаться на той же странице после авторизации

Автор dron

Ответов: 6
Просмотров: 3164
Последний ответ 30.11.2015, 14:07:27
от anoorik
Восстановление сайта на локалке

Автор BugiVugi

Ответов: 3
Просмотров: 1479
Последний ответ 21.08.2015, 18:23:39
от dimass2011