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

Angela_

  • Захожу иногда
  • 127
  • 3 / 0
Здравствуйте уважаемые форумчане!

Ну в названии темы и есть этот вопрос... Файл дампа БД который я переношу с хостинга на локальный компьютер ~ 4,5 Мб. Когда пытаюсь его импортировать, phpMyadmin пишет ошибку... "Нет sql запроса". И вот, что еще меня смущает:

Может быть слишком большой файл?
Посоветуйте пожалуйста, что можно предпринять.
« Последнее редактирование: 28.11.2010, 20:38:44 от 4webspot »
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
На скрине - ограничение минимального размера. Вы через копи-паст выполняете запрос или загружаете файлом sql ?
Покажите начало вашего дампа БД.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Angela_

  • Захожу иногда
  • 127
  • 3 / 0
На скрине - ограничение минимального размера. Вы через копи-паст выполняете запрос или загружаете файлом sql ?
Покажите начало вашего дампа БД.
Aleks_El_Dia, Добрый фетчер  ^-^
Загружаю файлом sql, как раз через ту кнопочку обзор, что на скрине. Я пробовала другой дамп, меньше мегабайта весом, все нормально, вот и подумала, что размер...
Код
-- phpMyAdmin SQL Dump
-- version 2.11.8.1deb5+lenny4
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Ноя 28 2010 г., 17:59
-- Версия сервера: 5.0.51
-- Версия PHP: 5.2.6-1+lenny8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Структура таблицы `jos_banner`
--

CREATE TABLE IF NOT EXISTS `jos_banner` (
  `bid` int(11) NOT NULL auto_increment,
  `cid` int(11) NOT NULL default '0',
  `type` varchar(30) NOT NULL default 'banner',
  `name` varchar(255) NOT NULL default '',
  `alias` varchar(255) NOT NULL default '',
  `imptotal` int(11) NOT NULL default '0',
  `impmade` int(11) NOT NULL default '0',
  `clicks` int(11) NOT NULL default '0',
  `imageurl` varchar(100) NOT NULL default '',
  `clickurl` varchar(200) NOT NULL default '',
  `date` datetime default NULL,
  `showBanner` tinyint(1) NOT NULL default '0',
  `checked_out` tinyint(1) NOT NULL default '0',
  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `editor` varchar(50) default NULL,
  `custombannercode` text,
  `catid` int(10) unsigned NOT NULL default '0',
  `description` text NOT NULL,
  `sticky` tinyint(1) unsigned NOT NULL default '0',
  `ordering` int(11) NOT NULL default '0',
  `publish_up` datetime NOT NULL default '0000-00-00 00:00:00',
  `publish_down` datetime NOT NULL default '0000-00-00 00:00:00',
  `tags` text NOT NULL,
  `params` text NOT NULL,
  PRIMARY KEY  (`bid`),
  KEY `viewbanner` (`showBanner`),
  KEY `idx_banner_catid` (`catid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;

*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
в php.,ini найдите max_execution_time. возможно стоит увеличить ее значение до max_execution_time = 60;

также, что особенно важно, найдите

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

и поиграйтесь с upload_max_filesize = 6M; или upload_max_filesize = 8M;

если не поможет, включите в общих настройках доклад ошибок на максимум, попробуйте ипортирование базы еще раз и если ошибки появятся, сообщите их нам.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

Angela_

  • Захожу иногда
  • 127
  • 3 / 0
в php.,ini найдите
4webspot, ... я не знаю где этот файл...  :-X 
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
export/import
сделай
на хосте export сделай
в gz
а на локале import в БД
*

Angela_

  • Захожу иногда
  • 127
  • 3 / 0
flyingspook  :D :D :D Пааалуууучииилось!  ;D Пааасиб!  :-*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1908
Последний ответ 26.12.2020, 15:15:15
от stendapuss
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97142
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10559
Последний ответ 12.09.2018, 19:36:32
от PaLyCH
Не могу перейти на панель вода в админку

Автор samat

Ответов: 5
Просмотров: 1856
Последний ответ 14.12.2017, 19:19:05
от andrejdi
Как проверить форму обратной связи [Решено]

Автор mafiozzzza

Ответов: 8
Просмотров: 6856
Последний ответ 30.05.2017, 11:34:11
от darkghost