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

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Нужно осуществить следующее решение.
Пользователь заходит на страницу с (например) фотографиями. Что-бы залить свой контент он должен изначально заплатить.
Нажав на кнопку "Оплатить", пользователя перебрасывает на страницу оплаты.
И только после оплаты пользователю предоставляется возможность загрузить свой контент.

Как можно все это осуществить? И как это делается в принципе? Может быть механизм и шаги должны быть другими. Просьба просветить.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Система оплаты + загрузка файлов
« Ответ #1 : 20.05.2016, 08:41:32 »
Вы сами ответили на свой вопрос. Это форма загрузки с проверкой + упрощенный интернет-магазин, где вместо товара клиент покупает право загрузки контента.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Re: Система оплаты + загрузка файлов
« Ответ #2 : 20.05.2016, 08:51:50 »
Вы сами ответили на свой вопрос. Это форма загрузки с проверкой + упрощенный интернет-магазин, где вместо товара клиент покупает право загрузки контента.
А можно ли вместо товара предоставить клиенту право загрузки контента на сторонний сервис?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Система оплаты + загрузка файлов
« Ответ #3 : 20.05.2016, 09:00:57 »
Технически сделать можно все, но разрешение нужно спросить у того, кто имеет право его давать.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Система оплаты + загрузка файлов
« Ответ #4 : 20.05.2016, 09:48:07 »
Нужно осуществить следующее решение.
Пользователь заходит на страницу с (например) фотографиями. Что-бы залить свой контент он должен изначально заплатить.
Нажав на кнопку "Оплатить", пользователя перебрасывает на страницу оплаты.
И только после оплаты пользователю предоставляется возможность загрузить свой контент.

Как можно все это осуществить? И как это делается в принципе? Может быть механизм и шаги должны быть другими. Просьба просветить.
Можно использовать компонент галереи с поддержкой загрузки фотографий пользователями (например, Phoca gallery) и компонент для организации тарифных планов. Например, PayPlans.
Далее. Настраиваете PayPlans таким образом, чтобы пользователь, купивший выбранный тариф, назначался в указанную вами группу пользователей. пусть это для простоты будет registered users.
На стороне PhocaGallery настраиваете так, чтобы пользователи группы registered users могли загружать фотографии.
Готово. Теперь чтобы залить фото, пользователь должен оплатить тарифный план.
Все это, конечно, можно гибко настроить. Больше не подскажу - нужно читать мануалы, но идею вам дал.
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Re: Система оплаты + загрузка файлов
« Ответ #5 : 20.05.2016, 12:47:36 »
Технически сделать можно все, но разрешение нужно спросить у того, кто имеет право его давать.
Кого вы имеете ввиду? Сторонний сервис загрузки контента? или сервис системы оплаты?
Можно использовать компонент галереи с поддержкой загрузки фотографий пользователями (например, Phoca gallery) и компонент для организации тарифных планов. Например, PayPlans.
Далее. Настраиваете PayPlans таким образом, чтобы пользователь, купивший выбранный тариф, назначался в указанную вами группу пользователей. пусть это для простоты будет registered users.
На стороне PhocaGallery настраиваете так, чтобы пользователи группы registered users могли загружать фотографии.
Готово. Теперь чтобы залить фото, пользователь должен оплатить тарифный план.
Все это, конечно, можно гибко настроить. Больше не подскажу - нужно читать мануалы, но идею вам дал.
Идея хороша. Спасибо. В принципе все в этой теме интересует, так как представление об это механизме очень слабое.
Например выясняется существование компонента для организации тарифных планов, PayPlans, о котором не знал.
Так что благодарен за любую инфу :).
Но Фока врятли подойдет, так как загрузка фото приведена в пример. Так же будут загружаться видео-материалы. Потому интересует возможность загрузки контента в принципе.
И возможно на сторонний сервер... рассматривается также вариант файлообменника.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Система оплаты + загрузка файлов
« Ответ #6 : 20.05.2016, 13:20:28 »
А можно ли вместо товара предоставить клиенту право загрузки контента на сторонний сервис?
Кого вы имеете ввиду? Сторонний сервис загрузки контента? или сервис системы оплаты?
Имею в виду не меня :).
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для транслитерации имен загружаемых файлов

Автор KSS

Ответов: 5
Просмотров: 2780
Последний ответ 02.10.2025, 09:57:13
от Леон
Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 976
Последний ответ 17.01.2025, 14:38:44
от kuliev
Система входа в систему

Автор christopher186

Ответов: 0
Просмотров: 579
Последний ответ 19.08.2023, 06:08:28
от christopher186
ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 1009
Последний ответ 13.01.2023, 15:05:52
от Divn
Radical multifield и пути для хранения файлов

Автор d2boy

Ответов: 1
Просмотров: 814
Последний ответ 03.01.2023, 00:34:00
от d2boy