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

jetonz

  • Захожу иногда
  • 154
  • 9 / 3
  • Помог ответ? Не ленись, ставь [+] !
Ограничить скидку
« : 13.02.2015, 15:31:34 »
У меня на сайте есть несколько групп покупателей с разным размером скидки ( от 3% до 18%). Считается она  по правилу DATax (цена после уплаты налогов). Работает отлично. Но недавно стал вопрос о том как бы ограничить скидку на товар, стоимость которого свыше 1000грн. Тоесть для покупателя со скидкой 18% на товар стоимостью 1700грн. должна считаться скидка 7%.

Небольшой костыль сделал редактируя файл administrator/components/com_virtuemart/helpers/alculationh.php  заменив

Код
$this->rules['DATax'] = $this->gatherEffectingRulesForProductPrice('DATax', $this->product_discount_id);

на

Код
	if( intval($this->productPrices['basePrice']) > 1000  && $this->rules['DATax'][0]['virtuemart_calc_id'] >= 2  && $this->rules['DATax'][0]['virtuemart_calc_id'] < 6) 
$this->rules['DATax'] = $this->gatherEffectingRulesForProductPrice('DATax', 3);
   else
$this->rules['DATax'] = $this->gatherEffectingRulesForProductPrice('DATax', $this->product_discount_id); 

суть такая - если у пользователя id скидки в диапазоне свыше 7% и стоимость товара свыше 100грн. , то применить ему id скидки с 7%

Но есть проблема - при пересчёте кол-ва товара в корзине, скидка применяется не 7%, а та которая у него есть.

Может есть способ попроще? Кто сталкивался?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VM 3: добавить скидку на все товары категории

Автор angelo4ek-001

Ответов: 0
Просмотров: 791
Последний ответ 29.05.2016, 23:49:53
от angelo4ek-001
Убрать скидку на отдельный товар

Автор Vlad_IT

Ответов: 0
Просмотров: 907
Последний ответ 16.03.2016, 16:56:19
от Vlad_IT
[Решено] Округлить скидку до целых чисел, как?

Автор Polosat

Ответов: 9
Просмотров: 4715
Последний ответ 31.01.2014, 23:30:40
от umbabaraumba
Как отменить скидку на все товары?!

Автор Bowa

Ответов: 3
Просмотров: 1220
Последний ответ 16.11.2013, 11:49:47
от rogerru
Не отображает скидку на товар?

Автор warlocksp

Ответов: 1
Просмотров: 971
Последний ответ 02.07.2013, 14:21:35
от jetonz