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

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Счётчик слогов
« : 10.07.2016, 15:45:36 »
Здравствуйте!
Мы хотим установить на сайт модуль, который считает количество слогов в задаваемом тексте.
Как это должно примерно выглядеть - см. прикреплённый файл.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Счётчик слогов
« Ответ #1 : 10.07.2016, 15:52:27 »
Подскажите, пожалуйста, есть ли какие-то готовые модули? Или, может быть, Вы знаете, какой из существующих модулей можно взять за основу?
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Счётчик слогов
« Ответ #2 : 10.07.2016, 19:38:16 »
Мы нашли скрипт, который считает количество гласных в строке.
Вот этот скрипт:
Спойлер
[свернуть]
Подскажите, пожалуйста, подойдёт ли он для Joomla? Можно ли его как-то использовать для создания модуля счётчика слогов (гласных)?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Счётчик слогов
« Ответ #3 : 10.07.2016, 20:42:20 »
По-моему, он неполный, с ошибками и не факт, что поддерживает кириллицу. Хотя я могу ошибаться.
*

mila_serdnaya

  • Захожу иногда
  • 432
  • 3 / 0
Re: Счётчик слогов
« Ответ #4 : 11.07.2016, 06:53:08 »
Филлип, допустим, скрипт правильный. Подскажите, пожалуйста, какие должны быть наши действия, чтобы создать модуль счётчика слогов? Нам нужно просто в php-файл модуля занести данный скрипт? Или ещё какие-то действия нужно выполнить?
*

fsv

  • Живу я здесь
  • 2782
  • 411 / 2
Re: Счётчик слогов
« Ответ #5 : 11.07.2016, 10:38:25 »
допустим, скрипт правильный
Ну, то что не полный, видно. Без всего кода трудно оценить, но то, что он какой-то очень избыточный, факт.
Код
var str = 'Сколько тут гласных?';
str = str.replace(/[^аеёиоуыэюя]/ig, '');
console.log(str.length);

какие должны быть наши действия, чтобы создать модуль счётчика слогов?
Creating a simple module/Developing a Basic Module
Веб-разработка: заказ. Только новая разработка.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Счётчик слогов
« Ответ #6 : 11.07.2016, 11:57:14 »
Цитировать
var str = 'Сколько тут гласных?';
str = str.replace(/[^аеёиоуыэюя]/ig, '');
console.log(str.length);

fsv
Отличное решение! Краткость - сестра таланта!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

fsv

  • Живу я здесь
  • 2782
  • 411 / 2
Re: Счётчик слогов
« Ответ #8 : 11.07.2016, 12:04:43 »
как быть со словами, типа "коала"? 
что не так с коалой?
Веб-разработка: заказ. Только новая разработка.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Счётчик слогов
« Ответ #9 : 11.07.2016, 12:07:35 »
это с моим русским что-то не так, по ходу ))
я думал, что там 2 слога, но погуглил и вроде по всем правилам 1 гласная - 1 слог.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Счётчик слогов
« Ответ #10 : 11.07.2016, 14:30:27 »
по всем правилам 1 гласная - 1 слог.
у ТС на скрине и английские слова встречаются, а там вроде правила другие
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Счётчик слогов
« Ответ #11 : 11.07.2016, 17:19:14 »
у ТС на скрине и английские слова встречаются, а там вроде правила другие
Да, там сложнее: нужно учитывать непроизносимые гласные и дифтонги. Наверное, Для Инглиша надо поискать скрипт, написанный носителями этого языка, а затем с помощью него пройтись по строке, если совпадений на русском языке не было найдено.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Адекватный счётчик посещаемости страниц материалов

Автор palexa

Ответов: 4
Просмотров: 1611
Последний ответ 08.04.2018, 01:00:28
от palexa
Счетчик посетителей

Автор ivan1975

Ответов: 0
Просмотров: 1153
Последний ответ 04.01.2018, 02:11:07
от ivan1975
Ищу Счетчик изделий

Автор lokiqq

Ответов: 1
Просмотров: 836
Последний ответ 24.10.2017, 03:46:04
от yandex_hb
Счетчик выполненных объектов

Автор sheina

Ответов: 1
Просмотров: 1077
Последний ответ 26.05.2017, 09:55:51
от vipiusss
Счетчик увеличения количества

Автор BenderRdrigues

Ответов: 13
Просмотров: 6448
Последний ответ 17.08.2016, 00:55:54
от Fedor Vlasenko