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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Приветствую. Такой вопрос
Есть у меня в корзине своя переменная $prod['delivery'] , она есть в cart.php  и в checkout.php
Как эту переменную передать в формирование письма с заказом и в заказ в админке?
В принципе, как переменные из корзины передаются туда?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
берутся из таблицы #__jshopping_orders
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
а туда как заносятся?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
логично предположить, что сохраняются при создании заказа :) вас интересует в каком файле? или что именно?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Ну да, в каком файле данные заказа из корзины уходят в баз, а затем в письмо. У меня есть своя переменная, как ее провести до письма?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
вам нужны контроллер и модель checkout.php
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Вы имеете в виду свой контроллер написать и checkout ? или искать в J SH ?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
:) он имеет виду что надо делать,
а где, это уже  решать вам. толи в ЖШных толи писать свои.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Вы имеете в виду свой контроллер написать и checkout ? или искать в J SH ?

ну судя по тому, что вопрос был
Цитировать
в каком файле данные заказа из корзины уходят в баз, а затем в письмо
то очень похоже, что речь все таки о существующих файлах... в них надо добавить сохранение ваших полей, ну и вывод их в письмо. ну а вообще конечно плагин нужно писать, чтобы без хаков ядра было.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Не удаляются товары из корзины (Multi basket ajax)

Автор goga_pgasovav

Ответов: 0
Просмотров: 1316
Последний ответ 14.08.2024, 23:19:57
от goga_pgasovav
Отобразить название продавца в корзине, для каждого товара корзины отдельно

Автор redzoome

Ответов: 1
Просмотров: 774
Последний ответ 27.10.2022, 20:00:42
от redzoome
Приходят пустые письма и не оформляется заказ

Автор DenVeR777

Ответов: 4
Просмотров: 1215
Последний ответ 21.03.2020, 22:29:07
от nevigen
Передать значение цены товара

Автор yurykom

Ответов: 16
Просмотров: 1098
Последний ответ 07.05.2019, 22:26:16
от dmitry_stas
Как передать select option в MySQL в форме заказа?

Автор Qverty2012

Ответов: 24
Просмотров: 2618
Последний ответ 17.06.2018, 16:03:42
от Qverty2012