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

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
   Есть ли у кого опыт добавления индикатора загрузки сайта (есть свой анимированный рисунок), нужно чтоб при открытии сайта показывался только этот рисунок пока загружается сайт. Пробовал разные скрипты, ничего путного не получилось, и ещё вопрос что такое "абсолютный путь к папке"? ^-^
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: GIF или SWF анимация на загрузку.
« Ответ #1 : 02.11.2010, 20:05:53 »
абсолютный путь - это строка, включающая http://

по теме:
чтобы нужен был индикатор загрзуки-сайт должен долго грузиться
если сайт долго грузится - это ПЛОХОЙ сайт на ПЛОХОМ хостинге.
посетители сайта пришли не за значком загрузки...
стать нармальные шаблон, оптимизируй графику и тд
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #2 : 02.11.2010, 20:26:27 »
Дак анимация красивая,рисованная и объём маленький,  а какой абсолютный путь тогда будет до images кот в шаблонах Joomla? ::)
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #4 : 02.11.2010, 20:40:01 »
Грубо говоря должно выглядеть так:"" ?
пытаюсь с помощью этого скрипта:
1. Открываем файл index.php шаблона

2. В любом месте между тегами <head> и </head> добавляем код:

Код:


<script type="text/javascript">
function hideLoading() {
document.getElementById('pageIsLoading').style.display = 'none';
}
</script>



3. Сразу после тега <body> добавляем код:
Код:


<div id="pageIsLoading"
style="
position: absolute;
display: block;
padding-left: 44px;
padding-right: 12px;
width: auto;
height: 46px;
line-height: 46px;
border: 1px solid #890000;
color: #000000;
font-weight: bold;
background-color: #e5e5e5;
background-image: url(http://www.абсолютный_путь_к_папке_images/"картинка".gif); вот это мне не понятно....
background-position: 6px center;
background-repeat: no-repeat;">

<script type="text/javascript">
if (typeof window_width == 'undefined' || typeof window_height == 'undefined') {
var window_width;
var window_height;
if( typeof( window.innerWidth ) == 'number' ) {
window_width = window.innerWidth;
window_height = window.innerHeight;
} else if( document.documentElement &&
( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
window_width = document.documentElement.clientWidth;
window_height = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
window_width = document.body.clientWidth;
window_height = document.body.clientHeight;
}
}
var left = Math.round((window_width - 200) / 2);
var top = Math.round(((window_height - 46) / 3) + 46);
document.getElementById('pageIsLoading').style.left = left+'px';
document.getElementById('pageIsLoading').style.top = top+'px';
</script>
Загружается... Ждите...
</div>



Разумеется, настройки стиля отображения и текста можно изменить на ваш вкус.
4. Непосредственно перед тегом </body> в самом конце файла добавляем код:
Код:


<script type="text/javascript">
if (window.addEventListener) {
window.addEventListener('load', hideLoading, false);
} else if (window.attachEvent) {
var r = window.attachEvent("onload", hideLoading);
} else {
hideLoading();
}
</script>
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #5 : 02.11.2010, 20:45:32 »
http://мой_сайт/templates/мой_шаблон/images
возможно
http://www.мой_сайт/templates/мой_шаблон/images


Вариант кот баз www хотя бы в браузере открывается... а скрипт сам не работает показывает окошко серое с указанными в скрипте надписями...а рисунок не отображается
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: GIF или SWF анимация на загрузку.
« Ответ #7 : 02.11.2010, 20:52:04 »
согласен с ифритом ,получится какашечка
Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #8 : 02.11.2010, 20:58:55 »
background-image: url("images/72.gif");
или
background-image: url("/images/72.gif");

картинку положить в папку images в КОРНЕ САЙТА

ВОО! Спасибо огромное! Заработало, а какие строки отвечают за ширину и длинну чтоб картинку поставить 900X500 и чтоб до полной загрузки сайта только картинку было видно.
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: GIF или SWF анимация на загрузку.
« Ответ #9 : 02.11.2010, 21:03:49 »
width
Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #10 : 02.11.2010, 21:12:24 »
width

А можно по подробнее конкретно для вышеупомянутого скрипта?
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: GIF или SWF анимация на загрузку.
« Ответ #11 : 02.11.2010, 21:17:55 »
width: 100%;
height: 100%;

Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #12 : 02.11.2010, 21:24:40 »
width: 100%;
height: 100%;


стал большим но не по центру...а какой параметр за центровку отвечает :)?
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: GIF или SWF анимация на загрузку.
« Ответ #13 : 02.11.2010, 21:27:17 »
padding-left: 44px;
padding-right: 12px;
а также
background-position: 6px center;
Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #15 : 02.11.2010, 21:33:53 »
padding-left: 44px;
padding-right: 12px;
а также
background-position: 6px center;

а если
background-position: 48% 48%;
?

Вообще ничего не происходит пробовал по всякому менять, он получается в правый нижний угол съехал на процентов 50
« Последнее редактирование: 02.11.2010, 21:37:01 от Stefen »
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: GIF или SWF анимация на загрузку.
« Ответ #16 : 02.11.2010, 21:39:39 »
Вот это отвечает
Код: javascript
var left = Math.round((window_width - 200) / 2);
var top = Math.round(((window_height - 46) / 3) + 46);
document.getElementById('pageIsLoading').style.left = left+'px';
document.getElementById('pageIsLoading').style.top = top+'px';
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #17 : 02.11.2010, 21:44:26 »
Вот это отвечает
Код: javascript
var left = Math.round((window_width - 200) / 2);
var top = Math.round(((window_height - 46) / 3) + 46);
document.getElementById('pageIsLoading').style.left = left+'px';
document.getElementById('pageIsLoading').style.top = top+'px';

Тоже ничего ровным счётом не происходит
*

Stefen

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: GIF или SWF анимация на загрузку.
« Ответ #18 : 02.11.2010, 22:24:10 »
Может быть есть какой-нибудь компонент, а не скрипт для таких целей? (создания индикатора загрузки)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Gif анимация не работает

Автор Otoz

Ответов: 12
Просмотров: 22094
Последний ответ 16.02.2013, 00:35:28
от MasterTaganrog
Подмена кода отвечающего за загрузку файлов

Автор Grinders

Ответов: 1
Просмотров: 1141
Последний ответ 12.03.2012, 11:12:30
от Grinders
Как можно ускорить загрузку сайта?

Автор likegod

Ответов: 4
Просмотров: 1524
Последний ответ 24.05.2011, 16:04:41
от GDV
Как сделать платную "загрузку" фаила?

Автор crafts

Ответов: 2
Просмотров: 1741
Последний ответ 17.02.2010, 14:09:18
от mahp
Как в админцентре отключить загрузку данных канала новостей?

Автор Барыга

Ответов: 4
Просмотров: 1752
Последний ответ 13.06.2009, 13:23:33
от andreian