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

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Собственно пытаюсь наладить сей процесс.

-скачал сборку вебсервака - Zend server, там встроеный и настроеный оси8 (php mod
для работы с ораклом) (потом проверил, в phpinfo блок oci8 есть)
-утсановил оракл клиент 10, настроил тнснеймс
-на сервере оракла сделали мне схему
-установил Joomla на макскул
-установил конвертер для преобразования баз данных (http://www.spectralcore.com/fullconvert/)
-конвертнул бд Joomla из макскула в формат оракла в мою схему (отличная прога, полный автомат, но платная)
-установил pl/sql developer, залогинился под новой схемой, вижу свои таблицы
-в папку Joomla залил все драйверы что нашел(в папку lib/.../oracle.php(40кб)
и в корень oracle.php(6,3кб))
-в configuration.php заменил бд на оракл с соотв. с факами ($dbtype = 'oracle';  и пр.)
НЕ ПАШЕТ

попробовал простенькие тесты связи - не работает .. "FAILED :" и все, (но
и ошибок оси8 нет) что только не перепробовал, результат один -
пусто. потом попробовал вывести переменную $ORACLE_HOME; она оказалась
пуста, хотя как я понмаю это системная переменная и указывает на путь
к тнснеймс. Одна догадка - оси8 не видит установленный оракл (логины
пароли верные, повторюсь, pl/sql developer и бд конвертер соединяются
нормально)... сижу в просрации ,попробую снести Zend, поставить
денвер

ЗЫ Вот вы мне скажите, на извесном ютубовком ролике (), где инсталят Joomla на оракле, так там бд оракл есть в выпадающем списке уже на этапе инстала! собственно как?  >:( !

ЗЫЫ код тестового файла

Код
error_reporting (E_ALL);
$tnsName     = '//ххх.ххх.ххх.ххх/WEBDEV';  //адрес бд оракл-сервака/имя сервиса (настройки связи из тнснеймс)
$username     = 'test01';
$password     = 'test01';
$conn = oci_connect($username, $password, $tnsName);
if (!$conn) {
      $e = oci_error();   // For oci_connect errors pass no handle
      echo '<b><font color="red">FAILED</font></b> : ' . htmlentities($e[
        'message']);
} else {
    echo '<b><font color="green">OK!</font></b>';
    oci_close($conn);
}

содержимое тнснеймс:
Код
WEBDEV =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ххх.ххх.ххх.ххх)(PORT = 1521))
    )
    (CONNECT_DATA =
      (ORACLE_SID=main)
    )
  )
« Последнее редактирование: 09.09.2010, 14:40:36 от 4webspot »
*

M2

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #1 : 06.09.2010, 17:12:17 »
В дескрипшене к видео написано что они сами допилили Joomla для оракла. Быть может просто написать им? Либо дадут этот дистрибутив Joomla, либо точно подскажут как быть, потому что у них, вроде, это успешно
*

tbhost

  • Захожу иногда
  • 158
  • 10 / 6
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #2 : 06.09.2010, 18:22:10 »
Собственно пытаюсь наладить сей процесс....

-конвертнул бд Joomla из макскула в формат оракла в мою схему (отличная прога, полный автомат, но платная)
Спрашивается, а зачем все это (процесс), да еще платное. Какой толк от этого?

P.S. "Юморакла" какая-то...
« Последнее редактирование: 06.09.2010, 18:27:53 от tbhost »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #4 : 07.09.2010, 08:48:29 »
Oracle Database driver for Joomla 1,5
я на этот драйвер уже давал ссылку в первом посте. но как я понял этот драйвер нужен для того чтобы переделывать запросы Joomla в оракловаримый вид на лету т.е. для этого БД Joomla в оракле уже должна быть ... а чтобы она там оказалась мы "скопировали" ее с майскула, переделав sql вид конвертером.  я правильно размышляю ?
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #5 : 07.09.2010, 09:13:48 »
ну если действовать через интерпретатор команд... Да еще таким корявым способ то соглашусь нафиг такое надо :-) В скорости выигрыша не будет ни какого ) я думаю даже проигрыш... ) Плюс стоимость решения просто атская будет
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #6 : 07.09.2010, 14:32:27 »
Плюс стоимость решения просто атская будет
я вас не совсем понял ... если получится подключить существующий драйвер, то, как я понял(надеюсь), дальнейшая работа будет прозрачна для Joomla и ее расширений.

-----------------

взял другой комп, все опять установил, запустил, вроде помогло (возможно из за того что на старой машине было 2 оракла)
но теперь из php выдает ошибку

ORA-12154: TNS:could not resolve the connect identifier specified

нагуглив по "ORA-12154" советуют проверить кол-во файлов тнснеймс (у меня 1) и правильность синтаксиса (но pl/sql developer по прежнему соединяется номально).. кто что думает?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #7 : 07.09.2010, 14:38:33 »
я не цеплял никогда оракл.
так что помочь врядли смогу
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #8 : 07.09.2010, 14:55:57 »
так, пошли дальше, разобрались, надо было
$tnsName='//xxx.xxx.xxx.xxx/main'   т.е. как объяснили пхп(оси8) вообще незнает про файл тнснеймс, поэтому указываем айпи сервака и СИД

теперь выдает
ORA-12737: Instant Client Light: unsupported server character set CL8MSWIN1251

зы, указание кодировки четвертым параметром в осиконекте не помогает

хотя при  такой строке
$conn = oci_connect($username, $password, $tnsName, 'WE8ISO8859P15');
выдает
ORA-24404: connection pool does not exist
?
« Последнее редактирование: 07.09.2010, 15:14:48 от officeserg »
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Joomla + ORACLE = ДжуморАкла !
« Ответ #9 : 09.09.2010, 11:32:40 »
все спасибо всем, все заработало (оказалось админ, когда создавал бд для меня не указал явно кодировку... или что-то в этом роде)
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #10 : 09.09.2010, 15:22:15 »
продолжу, мало ли вдруг кому интересно... итак, пхп+оракл настроили, теперь берем указанный драйвер(Oracle Database driver for Joomla 1,5), ложим его в \libraries\joomla\database\database\ .. в файле ничего не трогаем, идем в configuration.php  находим строчки настроек БД и меняем их примерно на это:

Код
var $dbtype = 'oracle';
var $host = 'ххх.ххх.ххх.ххх'; //ип сервака оракл
var $user = 'test01'; //ваш логин от бд оракл
var $db = 'joomla'; //СИД (у меня в первом сообщении это был "main")
...
var $password = 'test01'; //ваш пасворд от бд оракл

теперь идем в браузер и ... пока фиг
Код
jtablesession::Store Failed
DB function failed with error number 936
ORA-00936: ? ? SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ,'1284030789','','0','1','0' )
но конект пошел и это вселяет надежду ... а баги скорее всего из за того что при конвертации таблиц из майскула в оракл пользовался триальной прогой которая говорила мол я бесплатно перевожу мало и криво, пошел искать таблетки
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #11 : 09.09.2010, 15:36:29 »
ыы http://rutracker.org/forum/viewtopic.php?t=2174268 завтра буду пробовать - отпишусь
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #12 : 10.09.2010, 09:24:37 »
ничего не получилось, ошибка осталась + конвертер базы вроде перенес таблицы но закончил работу с несколькими сотнями ошибок :(

План "Б" (привязать не Joomla к ораклу а Fabrik-у с помощью спец драйвера для оракла http://fabrikar.com/forums/showthread.php?t=16799 ) тоже закончился неудачей (Не удалось установить соединение) при любых раскладах :(( ... стремительно теряю интерес к теме...
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #13 : 10.09.2010, 10:52:57 »
а какая расшифровка то по этой ошибке?
Код
jtablesession::Store Failed
DB function failed with error number 936
ORA-00936: ? ? SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ,'1284030789','','0','1','0' )
должно же быть расписано, что именно не нравится (что это за error number 936)
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #14 : 10.09.2010, 11:01:08 »
а какая расшифровка то по этой ошибке?
Код
jtablesession::Store Failed
DB function failed with error number 936
ORA-00936: ? ? SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ,'1284030789','','0','1','0' )
должно же быть расписано, что именно не нравится (что это за error number 936)
Ну вобще-то этот запрос и в мускуле не пройдет, т.к. он неправильный.
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #15 : 10.09.2010, 11:34:11 »
:)  действительно. сам не обратил внимания данные в VALUES
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #16 : 10.09.2010, 15:37:32 »
каюсь, испытуемая Joomla была не "чистой" ... ради чистоты эксперемента взял чистую Joomla 1.5.20 рус (ну и каламбур).. установил (по дефолту на майскул) запустил опять конвертер чтобы перегнать базу в оракл ... ошибок на этот раз поменьше (вот скрин , )..далее по схеме меняем конфиг, суем драйвер, на выходе:

на главной:
404 - Компонент не найден

В админке:
Код
jtablesession::store failed
DB function failed with error number 936
ORA-00936: ? ? SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ,'1284119135','','0','1','1' )

Попробовал другой драйвер (тоже где-то находил) попроще вроде 6кб результат почт тотже
jtablesession::store failed
DB function reports no errors

« Последнее редактирование: 10.09.2010, 16:03:35 от officeserg »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #17 : 10.09.2010, 16:12:53 »
да причем здесь это? у вас сам запрос неправильный идет. Я правда не знаю как в оракле, но в мускуле он неправильный.
Должен быть такой
INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ('','1284119135','','0','1','1' )
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #18 : 10.09.2010, 16:29:51 »
SmokerMan имел ввиду, что в VALUES отсутствует первое значение

p.s.
2 SmokerMan: session_id не может быть пустым :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #19 : 10.09.2010, 16:42:47 »
я вас понимаю но сборка чистая! на майскуле работает! а переключаю в конфиге на драйвер оракла - привет ... где рыть? дравер? Joomla?
пробовал менять var $session_handler = 'database'; на 'none' - тоже самое : jtablesession::store failed
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #20 : 11.09.2010, 01:30:37 »
p.s.
2 SmokerMan: session_id не может быть пустым :)
Х.......C................Н....И.....ММ...................
« Последнее редактирование: 11.09.2010, 01:44:17 от SmokerMan »
*

officeserg

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #21 : 13.09.2010, 10:22:09 »
Х.......C................Н....И.....ММ...................
да вобщем-то как всегда и везде ...
попробовал списаться с автором ютуб-ролика и автором драйвера для фабрики, ответил пока только второй, разбираемся...
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Re: [Решено] Joomla + ORACLE = ДжуморАкла !
« Ответ #22 : 02.12.2010, 14:44:24 »
так что, решения не найдено как подружить Joomla и Oracle?
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4027
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9692
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2195
Последний ответ 14.08.2020, 07:16:44
от rsn
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97144
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10559
Последний ответ 12.09.2018, 19:36:32
от PaLyCH