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

Babulesnik

  • Новичок
  • 7
  • 0 / 0
вставить PHP
« : 26.04.2011, 17:38:28 »
Нашол неплохой пример по работе с БД,но как вставить PHP код в материал не знаю.Подскажите люди добрые пожалуйста.

Код
Код
$query = 'SELECT 'email' FROM '#__users' WHERE 'id'=62'; $db =& JFactory::getDBO(); $db->setQuery($query); echo $db->loadResult();
*

Gorgeous92

  • Захожу иногда
  • 167
  • 5 / 0
Re: вставить PHP
« Ответ #1 : 26.04.2011, 17:56:45 »
используй плагин Sourcerer
*

Babulesnik

  • Новичок
  • 7
  • 0 / 0
Re: вставить PHP
« Ответ #2 : 26.04.2011, 18:38:25 »
используй плагин Sourcerer

Спасибо большое,но когда я вставил код страничка по прежнему осталась пустая.Почему?Может в коде проблема?
*

Gorgeous92

  • Захожу иногда
  • 167
  • 5 / 0
Re: вставить PHP
« Ответ #3 : 26.04.2011, 18:51:02 »
После вставки кода нажмите 2 раза на кнопку "Toggle {source} tags"
*

Babulesnik

  • Новичок
  • 7
  • 0 / 0
Re: вставить PHP
« Ответ #4 : 26.04.2011, 19:01:25 »
После вставки кода нажмите 2 раза на кнопку "Toggle {source} tags"
Спасибо.Там похоже ошибка в коде ,я вставляю код echo date("H:i:s") нормально показывает время,но не обновляет.Как сделать что-бы все время обновляло?
*

Babulesnik

  • Новичок
  • 7
  • 0 / 0
Re: вставить PHP
« Ответ #5 : 26.04.2011, 19:38:30 »
Помогите пожалуйста найти ошибку в коде.Почему соеденение с базой не работает?

Код
<?php
/* Initialize Joomla framework */
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
/* Required Files */
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
/* To use Joomla's Database Class */
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
/* Create the Application */
$mainframe =& JFactory::getApplication('site');
/**************************************************/
// Your code starts here...
/**************************************************/


echo date("H:i:s");

$db=&amp;JFactory::getDBO();
if ($db->connected()) {
echo "Нет соединения с сервером баз данных";
die();
} else {
echo "Все отлично, мы можем выполнять важные действия с базой данных";
}

?>
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: вставить PHP
« Ответ #6 : 26.04.2011, 20:26:53 »
Спасибо.Там похоже ошибка в коде ,я вставляю код echo date("H:i:s") нормально показывает время,но не обновляет.Как сделать что-бы все время обновляло?

Так и не будет обновлять. Эта функция выдает запрос один раз при формировании страницы.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Babulesnik

  • Новичок
  • 7
  • 0 / 0
Re: вставить PHP
« Ответ #7 : 26.04.2011, 21:37:38 »
Так и не будет обновлять. Эта функция выдает запрос один раз при формировании страницы.
Вы можете помочь разобраться с JFactory .Очень нужно.
Помогите пожалуйста.С уважением,Дмитрий.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: вставить PHP
« Ответ #8 : 26.04.2011, 22:37:41 »
Дмитрий, Вы напишите конкретно: я хочу сделать то-то и то-то, как можно реализовать? А то я что-то ничего не понимаю. То база данных, то код в материал...
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить код виджета?

Автор l_denis

Ответов: 7
Просмотров: 6085
Последний ответ 22.10.2021, 00:03:07
от sivers
Нужно удалить старый тег Google Analitics и вставить новый

Автор daria_ab

Ответов: 3
Просмотров: 2534
Последний ответ 10.06.2019, 11:48:52
от daria_ab
Как вставить в материал скрипт (карта Яндекс)

Автор demonm

Ответов: 6
Просмотров: 15286
Последний ответ 25.04.2017, 00:02:40
от CrazyPr0ger
Как вставить в материал стандартную форму обратной связи Joomla 1.5?

Автор Meloc987

Ответов: 19
Просмотров: 6297
Последний ответ 20.01.2016, 14:26:25
от effrit
Как вставить скрипт в Joomla?

Автор kvpkorchinsky

Ответов: 24
Просмотров: 17290
Последний ответ 12.11.2015, 18:46:24
от Rosheh