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

XxxlibertyxxX

  • Осваиваюсь на форуме
  • 32
  • 6 / 0
Плагин Memory Limit Plugin
« : 13.08.2009, 09:56:59 »
Хочу поделиться полезным плагином который нашел на буржуйском сайте.
Долго мучился с такими ошибками
Цитировать
Allowed memory size
Перепробовал все способы какие только возможны и правка php.ini и добавление строчки в index.php и прочие. Нечего не помогало. Перерыл весь интернет и на одном сайте нашел плагин Memory Limit Plugin. В нем оказалось все просто поставил, прописал параметр для memory_limit = и все заработало как часы.
Вот его описание
Цитировать
This plugin is for users who are don't know how to configure php and suffering from the error that says:

Fatal error: Allowed memory size of [number] bytes exhausted (tried to allocate [number] bytes) in [filename]

This error is usually fixed by changing the memory_limit parameter in php.ini or in .htaccess file, but some hosting companies do not allow you to modify php.ini, or you can't use .htaccess, or you don't know how to use them to fix this error, so you can use this parameter easily.

This plugin has only one parameter, it is named 'Maximum Memory Size', by entering an integer number , say x,  in this parameter, the plugin sets the memory limit to x MB for the whole Joomla website.

The default value for this parameter if not set is 32.


[вложение удалено Администратором]

Re: Плагин Memory Limit Plugin
« Ответ #1 : 19.08.2009, 08:32:37 »
люди, юзайте данный модуль, вещь отличная, перенес сайт с локалки на виртсервер без проблем и не пришлось лазить гдето в php.ini и в логе ошибок *DRINK*
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Плагин Memory Limit Plugin
« Ответ #2 : 03.11.2009, 20:56:30 »
Ставить ЦЕЛЫЙ плагин ради подключения одной строки - по мне какой то безумный бред
Код: php
ini_set("memory_limit",$newMemLimit);
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Плагин Memory Limit Plugin
« Ответ #3 : 09.03.2010, 16:32:35 »
Ещё бы подробно расписал что с этой строкой делать, цены бы этому замечанию небыло!
увеличение доступной памяти для выполнения скриптов, если это разрешено настройками хостинга и не превышает максимально возможного лимита
То есть если админ поставил максимум 64 мБ а по умолчанию для каждого аккаунта 8 - то выше этих 64 вы не прыгните, и это это при условии что опять же настройками сервера разрешено выполнение данной директивы

- в .htaccess можно добавить строку (при условии, что PHP работает под Apache через mod_php):
php_value memory_limit 16M

- либо в php.ini увеличить аналогичный параметр:
memory_limit = 16M

прямо в своём PHP-скрипте:
ini_set('memory_limit', '16M')
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 157636
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1536
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 103889
Последний ответ 20.04.2024, 21:10:33
от Beer
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 23236
Последний ответ 19.03.2023, 18:55:08
от ecolora
Компонент Commedia и плагин mp3browser для медиа-сайтов

Автор ecolora

Ответов: 557
Просмотров: 130086
Последний ответ 13.03.2023, 00:25:14
от ecolora