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

Nikaspb

  • Новичок
  • 3
  • 0 / 0
Сразу хочу попросить прощения, если нечетко выражаю свои мысли. Я не просто новичок в Joomla, но и вообще в любых вопросах создания сайтов. Вопрос  в следующем: как сделать, чтобы на главной странице сайта была активная кнопка "скачать", при нажатии на которую начиналось скачивание дистрибутива. Как его закачать на сайт и в какое место? И главное как сделать его безопасным для пользователей?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Дистрибутив чего? Как именно закачать?
*

Nikaspb

  • Новичок
  • 3
  • 0 / 0
Программы для расчетов токов короткого замыкания. Я вот и не знаю куда. Важно, чтобы ее можно было скачать с нашего сайта
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Как его закачать на сайт и в какое место? И главное как сделать его безопасным для пользователей?
Закачать с помощью FTP клиента (это программы такие, например FileZilla) или панели управления сервером. Место выбираете сами, это может быть любой папкой, самое главное - путь к ней.
И главное как сделать его безопасным для пользователей?
Для каких пользователей? Пользователям вашего сайта ничего не грозит.
как сделать, чтобы на главной странице сайта была активная кнопка "скачать", при нажатии на которую начиналось скачивание дистрибутива.
Вставьте в желаемом месте такой код
Код: html4strict
<a href="путь к файлу">Скачать</a>
и у вас появится ссылка "Скачать" (не кнопка, но суть от этого не изменится).

P.S. Исправил. Спасибо AlekVolsk.
« Последнее редактирование: 06.08.2014, 10:17:58 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Код
"путь к папке, где лежит файл"
Скорее: путь к файлу с дистрибутивом относительно корня сайта.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Сам файл дистрибутива лучше закачивать по ftp, в папку, специально предназначенную для хранения скачиваемых файлов, обчно она называется downloads или dwnl, создавать ее надо самому - штатно в J она отсутствует.
*

Nikaspb

  • Новичок
  • 3
  • 0 / 0
Код
"путь к папке, где лежит файл"
Скорее: путь к файлу с дистрибутивом относительно корня сайта.
Я вот совсем совсем чайник. Относительно корня сайта, это как? 
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Эээ, учите мат.часть, азы работы с хостингом. Я Вам сейчас отвечу, а у Вас после этого еще 10 вопросов появится.
"Гуглите - и обгуглины будете" ©
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться