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

GREEN301086

  • Новичок
  • 6
  • 0 / 0
Здравствуйте.
Проблема в следующем. Когда пытаюсь добавить изображение к товару - нажимаю "загрузить" выходит сообщение об ошибке "ошибка загрузки". Если нажать применить, то картинка всё же сохраняется, только не создается изображение в папке "images\stories\scatalog\products\*\display". Проблема существует под всеми браузерами, и в денвере и на хосте под линуксом. Бьюсь уже третий день. Чувствую что проблема не в самом компоненте, т.к. ни у кого её не возникало судя по форуму. Подскажите пожалуйста как исправить данную проблему ибо каталог очень понравился и хотелось бы всё же творить на нём.
*

shprota

  • Moderator
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Возможно, не установлена поддержка библиотеки GD для PHP
*

GREEN301086

  • Новичок
  • 6
  • 0 / 0
Спасибо за столь оперативный ответ.
Проверил
GD Support    enabled
GD Version    bundled (2.0.34 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.3.9
GIF Read Support    enabled
GIF Create Support    enabled
JPEG Support    enabled
libJPEG Version    6b
PNG Support    enabled
libPNG Version    1.2.37
WBMP Support    enabled
XBM Support    enabled
*

GREEN301086

  • Новичок
  • 6
  • 0 / 0
В чём ещё может быть проблема?
*

shprota

  • Moderator
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Проверьте еще права на запись для каталога images/stories/scatalog/*
*

GREEN301086

  • Новичок
  • 6
  • 0 / 0
Права уже проверял и перепроверял много раз. Ещё может быть я немного не полностью описал проблему - не создается изображение только в указанной папке, все остальные создаются в т.ч. и превьюшка.
*

GREEN301086

  • Новичок
  • 6
  • 0 / 0
Или подскажите хотябы какой файл отвечает за создание этого изображения хотя я думаю вряд ли мне это поможет т.к. в PHP и JS не силён
*

shprota

  • Moderator
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Проверьте тогда еще в настройках компонента, какие размеры установлены для больших изображений. Возможно, значения какие-то левые.
*

GREEN301086

  • Новичок
  • 6
  • 0 / 0
Точно стояли 0 как по высоте так и по ширине, теперь всё загружается. Большое Вам спасибо.
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Такая же проблема.
Только все предложенные варианты не работают. Проверял и высоту/ширину, права, GD Support    enabled

как понял доп изображения хранятся здесь /images/stories/scatalog/products/1/display
так вот я эти папки не могу открыть даже файлзиллой. все остальные все ок. а вот display, files, thumbs - не могу.
и соответственно вылаизет точно такая же ошибка

Error uploading:

ser_2391.jpg
302
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
и кстати так же не удается добавить ФАЙЛЫ. такая же ошибка. в чем может быть проблема?

у меня аналогичная ситуация как описал топикстартер: Когда пытаюсь добавить изображение к товару - нажимаю "загрузить" выходит сообщение об ошибке "ошибка загрузки".  Если нажать применить, то картинка всё же сохраняется. Но стоит выйти из сайта на 1 день, как при процедуре "загрузить" выходит сообщение об ошибке "ошибка загрузки".  Если нажать применить, то картинка уже НЕ СОХРАНЯЕТСЯ. Выхожу из того что заного устанавливаю поверх компонент. и тогда снова все работает до первого длительного выхода... 
установлена поддержка библиотеки GD для PHP
gdGD Support    enabled
GD Version    bundled (2.0.34 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.3.12
T1Lib Support    enabled
GIF Read Support    enabled
GIF Create Support    enabled
JPEG Support    enabled
libJPEG Version    8
PNG Support    enabled
libPNG Version    1.4.3
WBMP Support    enabled
XPM Support    enabled
XBM Support    enabled
*

shprota

  • Moderator
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
это надо отлаживать, смотреть почему идет ошибка загрузки в вашем конкретном случае. вариантов может быть множество.
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
У меня тоже работает только в Мозилле. В Опере выдает "Ошибка загрузки", в ИЕ вообще кнопка "Добавить" не работает. Может, это все-таки косяк в компоненте? Если б было дело в чем-то другом, в Мозилле тоже не работало бы?
*

shprota

  • Moderator
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Если зависит  от браузера - точно косяк в компоненте.
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
Интересно, неужели никто не боролся с этим косяком до положительного результата? Или sCatalog единицы используют?
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
В версии, скачанной на сайте http://redsoft.ru/folio/extensions-joomla/1345-scatalog по прежнему изображения не грузятся. Демо сайт почему-то на Joomla 1.5.8, - там всё нормально. А на 1.5.22 - загрузка не работает. Тестил на денвере.
Этот вопрос скорее к разработчикам.
С уважением.
*

eminents

  • Новичок
  • 3
  • 0 / 0
В версии, скачанной на сайте http://redsoft.ru/folio/extensions-joomla/1345-scatalog по прежнему изображения не грузятся. Демо сайт почему-то на Joomla 1.5.8, - там всё нормально. А на 1.5.22 - загрузка не работает. Тестил на денвере.
Этот вопрос скорее к разработчикам.
С уважением.
есть решение:
есть там такой гадкий awesome uploader.. флэш отключаем опционально,и работает. файл: adminiatrator\com_scatalog\assets\js\ext\misc\uploader\AwesimeUploader.js 88 строка.
*

a4maks

  • Новичок
  • 4
  • 0 / 0
непонятно...
напишите какая версия... что в строке написано...
заранее благодарен, а то тоже перепробовал разные версии и нигде не работает загрузка фотографий
Загрузка не удалась. Не передан файл. в версии 0.2 с-каталога...
права 777 на все каталоги
а если свежую версию с-каталога ставлю, то пропадает правое меню "Настройки" :(
joomla 1.5.22 и 1.5.23 стоит это всё на дэнвере...
« Последнее редактирование: 17.04.2012, 20:40:18 от a4maks »
*

sirkukk

  • Новичок
  • 1
  • 0 / 0
Решение проблемы
Код
Error uploading: 
xxxx.jpg
302

Если Вы используете Apache с модулем mod_security, и загрузка не проходит с кодом ошибки 302, то в корневой файл .htacchess нужно добавить:
Код:
Код
SecFilterEngine Off
SecFilterScanPOST Off
shprota(c)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не удается загрузить изображение

Автор shuker

Ответов: 5
Просмотров: 5087
Последний ответ 01.02.2012, 16:49:36
от Irsn