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

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Добрый вечер, не могу установить счетчик рамблер также маил. в код шаблона не вставить так как он защищен на запись,через модуль тоже ничего не получается и редактор отключал и через редактор пробовал. В чем проблема? как ее решить?
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
Добрый вечер, не могу установить счетчик рамблер также маил. в код шаблона не вставить так как он защищен на запись,через модуль тоже ничего не получается и редактор отключал и через редактор пробовал. В чем проблема? как ее решить?
права поменять и вставить _)
*

alexmel

  • Захожу иногда
  • 102
  • 9 / 2
права на файл ставите 777
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
и права менял и в  index.php вставлял ну ни как все варианты перепробовал, может кто сталкивался с таким?
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
и права менял и в  index.php вставлял ну ни как все варианты перепробовал, может кто сталкивался с таким?
не может такого быть , ты < head > вставляешь код ?
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
нет, в конец index.php шаблона
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
вот и в < head > попробовал и не чего.
*

dimapv

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Ну, можно по разному, например:
- качаешь index.php по ftp на комп, редактируешь как надо и закачиваешь обратно на сайт.
- создаешь новый модуль типа Произвольный HTML-код, заходишь в его (модуля) редактирование, в окне редактора переключаешь на редактирование кода HTML, вставляешь код рамблера или чего другого, сохраняешь в позиции футер и все должно работать.
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
не получается...
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
не получается...
может HTML подучить получится ?
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
да нормально я знаю HTML
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
да нормально я знаю HTML
ну так а в чём проблема ?
сайт покажи .
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
открываю index.php вставляю код счетчика <HTML>
<HEAD>
</HEAD>
<BODY>

вот сюды!

</BODY>
</HTML>

и ни чего http://www.rys-gryz.ru/
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
открываю index.php вставляю код счетчика <HTML>
<HEAD>
</HEAD>
<BODY>
http://help.rambler.ru/faq.html?s=68190
почитай всё элементарно , и посмотри через firebug  куда вставлять <meta> у тебя там мусор сплошной .
От того что ты вставил энциклопедию в <meta> лучше не будет .

вот сюды!

</BODY>
</HTML>

и ни чего http://www.rys-gryz.ru/
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
<?php
  echo artxModules($document, 'banner2', 'art-nostyle');
  if (artxCountModules($document, 'breadcrumb'))
    echo artxPost(null, artxModules($document, 'breadcrumb'));
  echo artxPositions($document, array('user1', 'user2'), 'art-article');
  echo artxModules($document, 'banner3', 'art-nostyle');
?>
<?php if (artxHasMessages()) : ?><div class="art-Post">
    <div class="art-Post-body">
<div class="art-Post-inner">
<div class="art-PostContent">

<jdoc:include type="message" />

</div>
<div class="cleared"></div>

</div>

      <div class="cleared"></div>
    </div>
</div>
<?php endif; ?>
<jdoc:include type="component" />

<?php echo artxModules($document, 'banner4', 'art-nostyle'); ?>
<?php echo artxPositions($document, array('user4', 'user5'), 'art-article'); ?>
<?php echo artxModules($document, 'banner5', 'art-nostyle'); ?>
</div>
<?php if (artxCountModules($document, 'right')) : ?>
<div class="art-sidebar1"><?php echo artxModules($document, 'right', 'art-block'); ?>
</div>
<?php endif; ?>

</div>
<div class="cleared"></div>

<?php echo artxPositions($document, array('bottom1', 'bottom2', 'bottom3'), 'art-block'); ?>
<jdoc:include type="modules" name="banner6" style="artstyle" artstyle="art-nostyle" />
<div class="art-Footer">
 <div class="art-Footer-inner">
<div id="footer_l">
  <div id="footer_r">
    <p id="syndicate">
      <jdoc:include type="modules" name="syndicate" />
      <?php echo artxModules($document, 'syndicate'); ?>
  <div class="art-Footer-text">
  <?php if (artxCountModules($document, 'copyright') == 0): ?>
<p>Транспортная Компания Рус-Груз. Все права защищены © 2011 <br />
.</p>



вот куда сюда вставлять, ?


везде попробовал где можно и где нельзя
  ну никогда проблем с счетчиками небыло
*

jumancy

  • Захожу иногда
  • 115
  • 5 / 0
поставь не счетчик, а например картинку, посмотри покажет? если да, то проблема в счетчике
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
просто ссылку на картинку?
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
нет и картинки нет
*

Ambal007

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
и Яндекс метрика не показывает и маил счетчик тоже
*

jumancy

  • Захожу иногда
  • 115
  • 5 / 0
у тебя с HTML проблема. куда ты его вставляешь?
<?php
  echo artxModules($document, 'banner2', 'art-nostyle');
  if (artxCountModules($document, 'breadcrumb'))
    echo artxPost(null, artxModules($document, 'breadcrumb'));
  echo artxPositions($document, array('user1', 'user2'), 'art-article');
  echo artxModules($document, 'banner3', 'art-nostyle');
?>
<?php if (artxHasMessages()) : ?><div class="art-Post">
    <div class="art-Post-body">
<div class="art-Post-inner">
<div class="art-PostContent">

<jdoc:include type="message" />

</div>
<div class="cleared"></div>

</div>

      <div class="cleared"></div>
    </div>
</div>
<?php endif; ?>
<jdoc:include type="component" />

<?php echo artxModules($document, 'banner4', 'art-nostyle'); ?>
<?php echo artxPositions($document, array('user4', 'user5'), 'art-article'); ?>
<?php echo artxModules($document, 'banner5', 'art-nostyle'); ?>
</div>
<?php if (artxCountModules($document, 'right')) : ?>
<div class="art-sidebar1"><?php echo artxModules($document, 'right', 'art-block'); ?>
</div>
<?php endif; ?>

</div>
<div class="cleared"></div>

<?php echo artxPositions($document, array('bottom1', 'bottom2', 'bottom3'), 'art-block'); ?>
<jdoc:include type="modules" name="banner6" style="artstyle" artstyle="art-nostyle" />
<div class="art-Footer">
 <div class="art-Footer-inner">
<div id="footer_l">
  <div id="footer_r">
    <p id="syndicate">
      <jdoc:include type="modules" name="syndicate" />
      <?php echo artxModules($document, 'syndicate'); ?>
  <div class="art-Footer-text">
  <?php if (artxCountModules($document, 'copyright') == 0): ?>
<p>Транспортная Компания Рус-Груз. Все права защищены © 2011 <br />
.</p>



вот куда сюда вставлять, ?


везде попробовал где можно и где нельзя
  ну никогда проблем с счетчиками небыло
*

rockettboost

  • Захожу иногда
  • 383
  • 3 / 5
  </div>        
<div id="footer">
    <div class="inner-footer">
      <jdoc:include type="modules" name="footer" style="xhtml" />
    </div>
    <div class="www">
<!--LiveInternet counter--><script type="text/javascript">document.write("<a href='http://www.liveinternet./click' target=_blank><img (screen.colorDepth?screen.colorDepth:screen.pixelDepth)) + ";u" + escape(document.URL) + ";" + Math.random() + "' border=0 width=88 height=15 alt='' title='LiveInternet: дня'><\/a>")</script><!--/LiveInternet-->
    </div>    
</div>    
</body>
</html>
 


вот у меня вставлен счётчик в <div class="www"> а в CSS его правь как хочешь !

и style="xhtml" пропиши !
« Последнее редактирование: 15.03.2011, 18:47:07 от rockettboost »

Извините что чуть чуть не в тему, уважаемый создатель сайта, в левом меню, пункт "Расщетать", поменяйте пожалуйста на правильное слово "Рассчитать"
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Извините что чуть чуть не в тему, уважаемый создатель сайта, в левом меню, пункт "Расщетать", поменяйте пожалуйста на правильное слово "Рассчитать"
Велик, могучим русский языка! (А. Иванов)
*

alexmel

  • Захожу иногда
  • 102
  • 9 / 2
А мне интересно, вы этот так сказать сайт для себя делали или на заказ, а если на заказ, то за сколько?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как отключить стандартный счетчик просмотров материалов

Автор Akksimo

Ответов: 5
Просмотров: 5284
Последний ответ 25.12.2019, 16:56:29
от nikolaevevge
Как установить Кросспостинг/Автопостинг на сайт (БЕСПЛАТНО)?

Автор Igoritaly

Ответов: 0
Просмотров: 1419
Последний ответ 23.02.2016, 13:14:33
от Igoritaly
Как установить только одну цветовую гамму?

Автор Nina47

Ответов: 1
Просмотров: 1245
Последний ответ 08.08.2014, 22:51:57
от arma
Как в php подключить GD библиотеки, а так-же установить в php расширение gd2.dll?

Автор Tykaram

Ответов: 42
Просмотров: 38539
Последний ответ 25.02.2014, 12:34:16
от atolic
2 раза установить один и тот же модуль под разными именами

Автор HolySong

Ответов: 4
Просмотров: 1878
Последний ответ 04.01.2013, 19:14:43
от Efanych