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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Компонент голосований JLvotes
« Ответ #210 : 09.06.2011, 12:39:38 »
@zikkuratvk: по сути, если использовать событие onAfterRender, то не важно, какой компонент используется, все равно у тебя будет доступ с сформированной странице.
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #211 : 09.06.2011, 14:57:27 »
так я не понял, есть решение вопроса или нет ?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Компонент голосований JLvotes
« Ответ #212 : 09.06.2011, 15:21:58 »
Вы хотите, чтобы автор исправлял все обнаруженные ошибки и недочеты в реальном времени? Ну тогда мне кажется ему следует платить. В противном случае, ждите, пока он реализует некое решение проблемы. Вы написали о проблем 2 дня назад, так что пока не так уж и много времени прошло, чтобы постоянно переспрашивать, есть или нет и когда будет.
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #213 : 09.06.2011, 15:37:04 »
Вы хотите, чтобы автор исправлял все обнаруженные ошибки и недочеты в реальном времени? Ну тогда мне кажется ему следует платить. В противном случае, ждите, пока он реализует некое решение проблемы. Вы написали о проблем 2 дня назад, так что пока не так уж и много времени прошло, чтобы постоянно переспрашивать, есть или нет и когда будет.

Это понятно, вопрос был нацелен на то, что возможно кто то еще вкурсе, как вылечить данную проблему. И кстати по поводу оплаты, смотря какая цена вопроса :) могу и заплатить, что бы в реальном времени вопрос решился :)
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Компонент голосований JLvotes
« Ответ #214 : 09.06.2011, 15:38:21 »
Решение есть. http://ninjaforge.com/extensions/nrss-strip-plugin-tags Но платное.
Красота спасет мир, а пофигизм спасет нервы.
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #215 : 09.06.2011, 15:41:50 »
Решение есть. http://ninjaforge.com/extensions/nrss-strip-plugin-tags Но платное.

отлично, спасибо большое, если автор не сможет решить вопрос, придется брать.

п.с. хотя 7 баксов в месяц или 147 в год, не есть хорошо. буду ждать решение от автора, веря в него :)
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
Re: Компонент голосований JLvotes
« Ответ #216 : 09.06.2011, 22:33:20 »
вообще то я сейчас на отдыхе и большая часть команды... разъехалась по стране... так что все что делается... это либо от желания поковырять что-то, либо уж совсем срочно... как будет время посмотрю компонент. Если есть желание решить быстро напишите в аську.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #217 : 25.07.2011, 17:22:26 »
Последнее время, я стал замечать, что сайт стал работать медленнее, на
вопрос к хостеру что за нафиг, я получил вот такой вот ответ:

По всей видимости один из ваших плагинов (есть подозрение что это jlvotes) создает запрос, который обрабатывается в течении 7 сек (попробуйте отключить плагин и проверить станет ли нормально открываться), вот запрос:

SELECT DISTINCT
cats.title AS cat,
users.username AS author,
users.email AS author_email,
cats.section AS SID,
content.title AS title,
content.introtext AS text,
content.created AS date,
content.publish_up AS date_publish,
content.images AS images,
content.id AS IID,
content.hits AS hits,
content_rating.rating_sum AS rating_sum,
content_rating.rating_count AS rating_count,
CASE WHEN CHAR_LENGTH(content.alias)
THEN CONCAT_WS(":", content.id, content.alias)
ELSE content.id END as ID,
CASE WHEN CHAR_LENGTH(cats.alias)
THEN CONCAT_WS(":", cats.id, cats.alias)
ELSE cats.id END as CID
FROM
(SELECT content_id, count(votetype) as s from jos_jlvotes_data where votetype=0 group by content_id) as votes,
jos_content AS content
LEFT JOIN
jos_categories AS categories
ON categories.id = content.catid

LEFT JOIN
jos_sections AS sections
ON sections.id = content.sectionid
LEFT JOIN
jos_users AS users
ON users.id = content.created_by
LEFT JOIN
jos_content_frontpage AS frontpage
ON content.id = frontpage.content_id
LEFT JOIN
jos_categories AS cats
ON content.catid = cats.id
LEFT JOIN
jos_content_rating AS content_rating
ON content_rating.content_id = content.id
WHERE
content.state = 1
AND categories.access <= 0
AND content.access <= 0

AND categories.published = 1
AND ( content.publish_up = '0000-00-00 00:00:00' OR content.publish_up <= '2011-07-25 10:01:04' )
AND ( content.publish_down = '0000-00-00 00:00:00' OR content.publish_down >= '2011-07-25 10:01:04' )
AND ( content.catid = 99 OR content.catid = 101 OR content.catid = 102 OR content.catid = 103 OR content.catid = 104 OR content.catid = 105 OR content.catid = 106 OR content.catid = 107 OR content.catid = 108 OR content.catid = 109 OR content.catid = 110 OR content.catid = 111 OR content.catid = 112 OR content.catid = 113 OR content.catid = 114 OR content.catid = 115 OR content.catid = 116 OR content.catid = 117 OR content.catid = 118 OR content.catid = 120 OR content.catid = 121 OR content.catid = 122 OR content.catid = 123 OR content.catid = 131 OR content.catid = 134 )


ORDER BY
RAND()
LIMIT
0,10

есть мысли?

если что, вот ссылка на мой сайт: http://www.xvastunov.net
« Последнее редактирование: 25.07.2011, 19:12:48 от lightgreengod »
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #218 : 25.07.2011, 20:51:28 »
Да, и еще вопрос - если я выключу модуль голосования, у меня голоса проголосованные уже не обнулятся?
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #219 : 26.07.2011, 11:58:08 »
совсем идей ни у кого нет?
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Компонент голосований JLvotes
« Ответ #220 : 26.07.2011, 12:17:34 »
Используйте другой плагин...
Красота спасет мир, а пофигизм спасет нервы.
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #221 : 26.07.2011, 12:25:40 »
А как мне голоса в другом плагине проставить, за все проголосованные материалы, все обнулять? а если глюкнет новый плагин, опять все обнулять?
*

lightgreengod

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #222 : 31.07.2011, 23:26:07 »
вопрос решен.
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #223 : 09.08.2011, 10:55:35 »
Исправьте ошибку. У Вас в файлах jlvotesoffbtn.php и jlvotesonbtn.php нужно заменить код:
Код
var content = TinyMCE.get('text').getContent();
на
Код
var content = $getContent

Иначе в других редакторах, например jckeditor, Ваша кнопка не работает.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Компонент голосований JLvotes
« Ответ #224 : 09.08.2011, 12:02:44 »
извините, а можно ли добавить этот чудный компонент в компонент AdsManager?
Спойлер
[свернуть]
*

profitural

  • Захожу иногда
  • 50
  • 2 / 0
Re: Компонент голосований JLvotes
« Ответ #225 : 31.08.2011, 02:20:53 »
Отличный компонент, давно искал что-то подобное.

На основе шаблона crazyASD сваял собственный:

Кому понравится, то можно забрать тут http://www.rvsn.su/images/jlvotes_skin.zip

Установка:
файлы plugin.tpl и jlvotes.css кидаем в директорию ../components/com_jlvotes/templates
картинки vote-n.jpg и vote-y.jpg в ../components/com_jlvotes
ну и ru-RU.plg_content_jlvotes.ini соответственно в  ../language/ru-RU

З.Ы. На кнопках +/- установлены всплывающие подсказки "title", хотелось бы уменьшить паузу перед появлением подсказок и добавить им красоты, у кого может есть какие соображения по этому поводу?

З.Ы.Ы. В CSS я не очень силен, так что сильно за косяки не пинайте, а лучше пишите сюда, будем исправлять. ^-^
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #226 : 21.09.2011, 15:45:06 »
Сделал вот такой шаблончик.
Полностью на CSS3.


 *DRINK*

Прикольный шаблон, но у меня на одной странице есть несколько материалов для голосования и при голосовании на одну из них автоматически голос засчитывается всем метериалам( Подскажите что делать
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #227 : 21.09.2011, 15:51:52 »
Дописывать код плагина. Добавить к id каждого опроса и вложенным в него элементам (по необходимости) уникальное одинаковое значение и его передавать в функцию и использовать в JavaScript-е. Я ответил на Ваш вопрос? :-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #228 : 21.09.2011, 15:55:41 »
Дописывать код плагина. Добавить к id каждого опроса и вложенным в него элементам (по необходимости) уникальное одинаковое значение и его передавать в функцию и использовать в JavaScript-е. Я ответил на Ваш вопрос? :-)


К сожалению я новичок в этом деле(( Если можно более детально опишите мне эту процедуру или подскажите другой (более простой) путь устранения этой проблемы. Спасибо
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #229 : 21.09.2011, 16:04:50 »
К сожалению я новичок в этом деле(( Если можно более детально опишите мне эту процедуру или подскажите другой (более простой) путь устранения этой проблемы. Спасибо
Простой - использовать 1 плагин на 1 странице. Другой - внести коррективы. Полагаю, что разработчикам.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #230 : 21.09.2011, 16:08:05 »
Простой - использовать 1 плагин на 1 странице. Другой - внести коррективы. Полагаю, что разработчикам.

Возможно есть какие то другие компоненты для голосования в которых не будет этой проблемы??
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #231 : 21.09.2011, 16:35:36 »
Возможно есть какие то другие компоненты для голосования в которых не будет этой проблемы??
Голосуют за что? за статью? Какой адрес сайта?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #232 : 21.09.2011, 17:01:38 »
Голосуют за что? за статью? Какой адрес сайта?
У меня сайт анекдотов и я хотел бы чтобы каждый анекдот имел свой рейтинг
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #233 : 21.09.2011, 17:02:29 »
Сайт ещё не на сервере
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #234 : 21.09.2011, 17:32:09 »
У Вас 1 страница с контентом, или блог категории, состоящий из разных статей на 1 странице? Если блог, то можно воспользоваться плагином ExtraVote
Пример его работы можете посмотреть в моём Блоге. Это звезды над каждой статьей.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #235 : 21.09.2011, 17:34:52 »
У Вас 1 страница с контентом, или блог категории, состоящий из разных статей на 1 странице? Если блог, то можно воспользоваться плагином ExtraVote
Пример его работы можете посмотреть в моём Блоге. Это звезды над каждой статьей.
У Вас 1 страница с контентом, или блог категории, состоящий из разных статей на 1 странице? Если блог, то можно воспользоваться плагином ExtraVote
Пример его работы можете посмотреть в моём Блоге. Это звезды над каждой статьей.

одна страница с контентом
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Компонент голосований JLvotes
« Ответ #236 : 21.09.2011, 17:36:32 »
Боюсь, что ни тот ни другой плагин Вам в этом случае не подойдет. Поищите решение на просторах интернета или какой-нибудь плагин, может даже в той ветке, где выложен extravote.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

sosnyak88

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Компонент голосований JLvotes
« Ответ #237 : 21.09.2011, 17:38:31 »
Боюсь, что ни тот ни другой плагин Вам в этом случае не подойдет. Поищите решение на просторах интернета или какой-нибудь плагин, может даже в той ветке, где выложен extravote.

Спасибо за помощь. Буду искать дальше)
*

NsK

  • Новичок
  • 1
  • 0 / 0
  • Делу время ...
Re: Компонент голосований JLvotes
« Ответ #238 : 06.10.2011, 12:03:39 »
К сожалению, этот компонент так и не заработал на J1.5.22 рус. (при нажатии на кнопку безостановочно крутился, хотя счёт шёл.)
Пришлось ставить ExtraVote.
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
Re: Компонент голосований JLvotes
« Ответ #239 : 21.10.2011, 08:00:38 »
Доработан и выложен как официальный релиз модуль расширенного рейтинга статей для компоненты JL Votes.
Изменения по сравнению с бетой.
Решены проблемы с SEF.
Добавлена возможность вывода заданных категорий.

Скачать и посмотреть компонент вы можете на сайте joomline.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

SM FAQ - компонент Вопрос-Ответ для Joomla 2.5+

Автор SmokerMan

Ответов: 682
Просмотров: 156456
Последний ответ 11.10.2025, 12:43:44
от wishlight
Компонент для постинга в соцсети (вк) Kcrossposting

Автор kysin

Ответов: 1
Просмотров: 1737
Последний ответ 06.04.2024, 23:55:02
от kysin
[Разработка, нужны советы] Компонент для УО (УК и тсж)

Автор rsa_m

Ответов: 192
Просмотров: 35018
Последний ответ 02.10.2022, 10:11:56
от w24-08
Компонент экспорта новстной ленты сайта в Яндекс и Рамблер новости

Автор Dron79

Ответов: 248
Просмотров: 69659
Последний ответ 06.01.2020, 07:36:42
от Altermass
Управляющий компонент мультилендига + плюс фронтальная часть

Автор zikkuratvk

Ответов: 0
Просмотров: 1104
Последний ответ 06.09.2019, 18:55:37
от zikkuratvk