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

stereomaniac

  • Новичок
  • 9
  • 0 / 3
Здравствуйте, имеем страницу - http://queent.ru/index3.php

В мозилле скрипт на этой странице корректно работает.

Открываем эту же страницу в Google Chrome, Opera или IE - не работает.

Казалось бы, возможно проблемы со скриптом, но пробуем положить файл index3.php в каталог активного шаблона (пути к скриптам не меняются, файл остаётся без изменений...все скрипты тянутся из файлов в корне сайта)

Итак, кладём файл в каталог шаблона и обращаемся к нему по адресу http://queent.ru/templates/yoo_explorer/index3.php

Вуаля, во всех браузерах всё работает.
Перекопал всё что можно, но не могу найти причины подобного поведения(

Подскажите пожалуйста, в чём может быть дело?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Укажите полные пути к JavaScript файлам...
*

stereomaniac

  • Новичок
  • 9
  • 0 / 3
Укажите полные пути к JavaScript файлам...

они и указаны полные
в корне сайта лежит папка public, в ней лежат скрипты

в файлах пути к скриптам указаны как <script src="public/jquery-1.4.2.min.js" charset="utf-8"  type="text/javascript"></script>

куда уж полнее
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Цитировать
Unable to Determine Parse Mode!

The validator can process documents either as XML (for document types such as XHTML, SVG, etc.) or SGML (for HTML 4.01 and prior versions). For this document, the information available was not sufficient to determine the parsing mode unambiguously, because:
the MIME Media Type (text/html) can be used for XML or SGML document types
No known Document Type could be detected
No XML declaration (e.g <?xml version="1.0"?>) could be found at the beginning of the document.
No XML namespace (e.g <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">) could be found at the root of the document.

As a default, the validator is falling back to SGML mode.

 No DOCTYPE found!

...

Line 153, Column 81: document type does not allow element "SCRIPT" here
…="public/jquery-1.4.2.min.js" charset="utf-8"  type="text/javascript"></script>


*

stereomaniac

  • Новичок
  • 9
  • 0 / 3


немного не понял смысл написанного, в чём проблема говорит?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
в чём проблема говорит?
Валидатор говорит, что проблема в том, что тип документа не может быть определён однозначно, так как отсутствуют некоторые обязательные атрибуты
(какие - там написано, подробнее - зайдите на validator.w3.org).

Потому и поведение документа может быть неоднозначным в различных браузерах.
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Цитировать
куда уж полнее
Полнее http:// ну и так далее.
*

stereomaniac

  • Новичок
  • 9
  • 0 / 3
Валидатор говорит, что проблема в том, что тип документа не может быть определён однозначно, так как отсутствуют некоторые обязательные атрибуты
(какие - там написано, подробнее - зайдите на validator.w3.org).

Потому и поведение документа может быть неоднозначным в различных браузерах.

не помогло(
избавился от ошибки, выдаваемой валидатором - всё равно не работает скрипт нигде кроме мозиллы
прописал полные пути к скриптам через http и тд - всё равно не помогло(

есть ещё какие-либо идеи?
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Была похожая проблема, озадачила всех знакомых программистов и разработчиков, никто не нашёл ответа на вопрос(
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ради интереса открыл страницу queent.ru/index3.php в Google Chrome и посмотрел что там в консоли JavaScript:

Uncaught SyntaxError: Unexpected token < public/calendar.js:103
Uncaught SyntaxError: Unexpected token < public/search.js:30

Посмотрите внимательно (возможно загрузите несжатые версии скриптов), на какие строки оно ругается. И сравните, на всякий случай, одинаковы ли файлы: queent.ru/public/calendar.js и  queent.ru/templates/yoo_explorer/public/calendar.js. Ну и аналогично с search.js... Просто по первой ссылке файлы берутся из корневой папки public, по второй ссылке используются файлы из папки с шаблоном.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображается код Google Analytics

Автор marchello3007

Ответов: 1
Просмотров: 3083
Последний ответ 22.04.2022, 05:39:00
от arma
simpleform2 ошибка ajax error в Google chrome

Автор safronoff343

Ответов: 1
Просмотров: 1260
Последний ответ 05.06.2020, 20:36:42
от safronoff343
Проблема со входом в Админ панель после переноса сайта

Автор Vlad Ermolaev

Ответов: 11
Просмотров: 4195
Последний ответ 12.12.2019, 15:48:25
от SeBun
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97151
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Нужно удалить старый тег Google Analitics и вставить новый

Автор daria_ab

Ответов: 3
Просмотров: 2533
Последний ответ 10.06.2019, 11:48:52
от daria_ab